Callback to allow arbitrary cleanup on dispose.
@protected Future<Null> onDispose() async { return null; }