Moved Event Handling over to std::function instead of function pointers
Finished preliminary event handling