Merging Ryan's patch, refactored a few modules to match new interface, removed all that don't match new interfaces from the reactor for now.