dispose method
Try delete the creator from the graph. No-op for creators with watchers. It can delete creator even if it has keepAlive set.
Implementation
void dispose(CreatorBase creator) {
if (_graph.from(creator).isNotEmpty) {
return;
}
_delete(_graph.delete(creator));
_delete([creator]); // In case it has no dependency and no watcher.
}