I've been looking forward to this. The last several commits have replaced the generic event system with a hardcoded callback system. This should be more efficient, easier to understand, and easier to follow. I feel it is a better solution.