final public function start()
    {
        try {
            $this->register();
            $this->boot();
        } catch (HttpValidationException $exception) {
            $validations = json_decode($exception->getMessage(), true);
            response($validations, $exception->getCode())->send();
        } catch (HttpException $exception) {
            response([
                'code' => $exception->getCode(),
                'message' => $exception->getMessage()
            ], $exception->getCode())->send();
        } catch (\Exception $exception) {
            app('log')->alert('DOWN', $exception->getTrace());
            response($exception->getMessage(), $exception->getCode())->send();
        } catch (\Error $error) {
            app('log')->emergency('DOWN', $error->getTrace());
            response($error->getMessage(), 500)->send();
        }
        return $this;
    }