/**
  * Handle a registration request for the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  bool  $withSubscription
  * @return \Illuminate\Http\Response
  */
 protected function handleRegistration(Request $request, $withSubscription = false)
 {
     $this->validateRegistration($request, $withSubscription);
     $user = $this->users->createUserFromRegistrationRequest($request, $withSubscription);
     if ($request->team_name) {
         $team = $this->teams->create($user, ['name' => $request->team_name]);
         event(new TeamCreated($team));
     }
     if ($request->invitation) {
         $this->teams->attachUserToTeamByInvitation($request->invitation, $user);
     }
     event(new Registered($user));
     if ($withSubscription) {
         event(new Subscribed($user));
     }
     Auth::login($user);
     return response()->json(['path' => $this->redirectPath()]);
 }