Major refactor to the new eventable