Fix missing method implementation on Controller class

Missing method handler implementation for the Controller class seems to have disappeared. Re-added it along with unit tests to make sure it doesn't gets removed again.

I also included the message for the exception which Shawn wanted to add in #1653. I didn't implode the parameters like he first suggested because you can't know what type of parameters are sent along (not always strings).