Not much done.

(Damm you, github!!)

Lay foundations for Event system.
Does not actually work yet, just provides interfaces and abstract classes so that events can be worked upon.