Updated the MonadTempate type class.
Refactoring the IO-based monads.