public function resolve($form) { if (is_subclass_of($form, Form::class)) { $this->form = Reflect::create($form); $this->request = context()->getOrCreate(Request::class); if (object_implements($form, ResolvesOnRequest::class)) { if ($this->request->isPost()) { $this->response = context()->getOrCreate(Response::class); $this->flash = context()->getOrCreate(Flash::class); return $this->resolvePost(); } elseif ($this->request->isGet()) { return $this->resolveGet(); } } return $this->form; } }