Finished (Hopefully) new event system