Moved request processing to separate classes