Extracted RequestParser from Request and a major refactor