Asynchronous events
Allow event queues to be optimized
We can just use the old timeout, no need to reset it
Add async option for properties
New build process

This doesn't require us to bend over backwards to support CommonJS, when we only really need it to run our tests. It also reduces the size of the final JS file by about 20%, because uglify can optimize better.
Add shortcut to defining properties

Because we do it a lot