releaseInstance abstract method
checks if a registered Singleton has an reference counter > 0 if so it decrements the reference counter and if it reaches 0 it unregisters the Singleton if called on an object that's reference counter was never incremented it will immediately unregister and dispose the object
Implementation
void releaseInstance(Object instance);