public function play(PlayerId $playerId, Move $move)
    {
        $playMethod = 'play' . $this->getClassName($move);

        if (! method_exists($this, $playMethod)) {
            throw new IllegalMoveException($move, 'Error: move was not recognized!');
        }

        return $this->$playMethod($playerId, $move);
    }