Use standard library functions instead of something hand rolled.
Test a little bit more.
More.
Expose Events, more tests, minor fixups.