Commands emit meaningful events (fixes #233)

This isn't ready to merge yet - I'm just opening it so others can follow along with my progress.

I'm trying to adhere to the standards already in place, but please let me know if I should be formatting / organizing things differently.