Make the check for $callback explicit in Application->route().
Throw InvalidArgumentException when the argument is not correct in Request->query() and Request->input().
Remove unnecessary namespace and add a return in Application.
Refactor Schema->validateField() to extract Schema->validateRequired().