RequestFactory is a better name for this class