adds a callback into this object by key. If a callback of this key exists, it will be replaced.
adds a callback into this object. The returned key is used to remove or replace the callback