public static function from(Player $player) { return self::create($player->id()->value(), $player->registrationDate(), $player->name()->value()); }
public static function register(PlayerId $id, PlayerName $name) { $player = new Player($id, $name); $player->record(new PlayerRegistered($id->value(), $player->registrationDate(), $name->value())); return $player; }
private function publishDomainEvents(Player $player) { iter\apply($this->handleEvent(), $player->recordedMessages()); $player->eraseMessages(); }