Change implementation of EventManager

Better support for copying and moving sources and listeners