Add default clone implementation for all objects.
Provide Event object which contains data describes this event.
Change tests. Makes them more common.
Now Callback handler invokes after all listeners.