We should probably make use of `Disposable` class that is being mixed in, which call's `setup` during initialization and `dispose` at manual destruction or add-on unload.