components events could be processed in a priority queue rather than whatever the engine specifies. currently no way to guarantee event handling order