Abstracted the MAEvent into a protocol so other objects can conform