cleanup event API
initiate first working verison of event propagation, with simple registration