Mega Refactor of event processing :(