Added BaseRequest and three subclasses for Offline/Realtime/Upload