def register_singleton(key, proc = nil, &block)
      Helper.register_singleton(obj: self, key: key, proc: proc, block: block)
    end
def register_singleton(key, proc = nil, &block)
      Helper.register_singleton(obj: self, key: key, proc: proc, block: block)
    end
Registers a new callback in the registry. This will add a new method
 matching +key+ to the registry that can be used both outside the
 registry and when registering other callbacks dependant of the
 current entry. Results from the callnack will be cached, meaning
 that the callback will return the same object every time.

 @param [String|Symbol] key
 @param [Proc|nil] proc
 @return [nil]