changed events to be class based
registering a new event is like creating a new instance of the _mf.event.Instance class
this saves on having to store new functions for every new event, being much more memory efficient
Catlinman, you may want to add some more functionality to this so it is more consistent with how you can access it