Would be helpful to define the interface as extending Initializable/Disposable?