+ Add MoveFactory to support different kinds of moves.