/** * @param UserId $userId * @param string $name * @param EmailAddress $emailAddress * @return User */ public static function registerWithData(UserId $userId, $name, EmailAddress $emailAddress) { $self = new self(); $self->assertName($name); $self->recordThat(UserWasRegistered::withData($userId, $name, $emailAddress)); return $self; }