MonadRender

Addresses issue #8 although comments are welcome.
Yep, I think the newer changes should be cleaner