Schema validation should move into each handler generation function. This also removes the need to pass the schema when creating custom handlers. Instead, the handler generation method can just do it.