Fix documented return values
Update registry to use a class variable

* Rather than creating a private method for the emitter registry, a
  class variable can be used to share state between classes in the
  same hierarchy. Normally I would not use class variables for much,
  except this is exactly the use case they were designed for.
* Add Emitter.finalize to hide the class internal state from the
  outside world. Nothing outside of the Emitter class needs to know
  there is a registry object internally, there is no need to expose
  that in a public interface.
Merge pull request #3 from dkubb/class-variable-emitter-registry

Refactor emitter registry to use a class variable