Organize multiple callbacks for a function that accepts a single parameter
adds a callback into this object. The returned key is used to remove or replace the callback
adds a callback into this object by key. If a callback of this key exists, it will be replaced.
call every callback with the provided parameter