import 'dart:async'; class BaseController { final StreamController _stateListener = StreamController(); late Stream stateStream; BaseController() { stateStream = _stateListener.stream.asBroadcastStream(); } void dispose() { _stateListener.close(); } void setState(T data) { _stateListener.add(data); } }