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