- ontimerstarted (smelters/assemblers/miners) contains Entity
- ontimerfinished (smelters/assemblers/miners) contains Entity
- onitemcreate (smelters/assemblers/miners) contains ItemStack
- oninserterpickup (inserters) contains ItemStack
- oninserterdrop (inserters) contains ItemStack (or maybe ItemEntity?)
- onsplit (splitters) contains ItemEntity
Or perhaps a way to attach functions with specific signatures to prototypes. For example, that function would be called any time that type of entity's timer finishes.