those comments weren't very useful
reorder tasks
rename fire to emit throughout the codebase