dispose method
disposes of the model releasing resources and removing bindings
Implementation
@override
// framework level dispose can happen asynchronously
void dispose() async {
disposed = true;
// dispose header model
header?.dispose();
// dispose footer model
footer?.dispose();
// dispose drawer model
drawer?.dispose();
// clear event listeners
eventManager.listeners.clear();
// cleanup children
super.dispose();
}