Added the MonadReactant class and pure monad Reactant to distribute time over events.