Added Event abstract class to use when extending events - previously advised to extend model or controller, but now use "extend Event"

REF: #1631