This allows handlers to return errors which will be returned to the caller. Also replaced error returned from On with a panic.