Moved events to their own seperate class