Nice work
There is one thing that bugs me though, and I know this is probably a personal-preference thing, is the way you name your functions. I'd have thought it'd be logical to reserve the prefix "on" for events, which is how your debugger seems to work aswell, but you seem to be using them for standard functions.
Of course, it may seem like I'm nitpicking. Either way, it's a great system and I'll definitely be using it.
rep++