public function postAccept(CreateUserWithTokenRequest $request)
    {
        if (! $request->has('token')) abort(403);
        if (! $invitation = $this->validateToken($request->input('token'))) abort(403);

        $user = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
        ]);

        event(new UserCreated($user));

        $invitation = UserInvitation::where('token', $request->input('token'))->first();
        $invitation->user()->associate($user);
        $invitation->accept();

        return Response::json(['created' => true ]);
    }