Basic Return functionality
Pulled out an exception subclass
Docs for return handler
Throw if handler aint callable