public static void TransformPiece(Piece from, Piece into, GameEvent gameEvent = null) { boardSetup.TransformPiece(from.location, into); onEnterGame.Defreeze(from.location); if (gameEvent == null) { gameEvent = new GameEvent("Transform", from, into); } gameEvent.Upload(); onEnterGame.AddToHistory(gameEvent); }