Buttons working sanely
Better event system cleanup

At tehe cost of breaking 300 lines :(
Slight method rename