First thoughts on modularizing reactive.

Yang, here are my thoughts on a round of changes I'd like to try for reactive.. Let me know your thoughts, and whether you've thought about these issues and whether you'd like me to try making them. This is just a placeholder pull request !. Cheers, 

Dean