What about using typed parameters ?  public function createRegistration(\User_Adapter $user, \collection $collection)`