MountainRange / MULE

OSS Mule, Built To New Heights :sunrise_over_mountains:
GNU General Public License v3.0
5 stars 1 forks source link

Conducted a holy crusade #53

Closed joshhting closed 8 years ago

joshhting commented 8 years ago

Purifed our repository of heretical spelling typos

jgkamat commented 8 years ago

I made a mission critical patch that converts our code to english so its easy to read! Now our code follows the inform 7 style guides!

diff --git a/src/main/java/io/github/mountainrange/mule/Config.java b/src/main/java/io/github/mountainrange/mule/Config.java
index dab01ec56bf11ca0e1bccd08b34292006ca51079..3e4803ea0857b09368700af961eb3737fd7a5580 100644
--- a/src/main/java/io/github/mountainrange/mule/Config.java
+++ b/src/main/java/io/github/mountainrange/mule/Config.java
@@ -1,51 +1,51 @@
-package io.github.mountainrange.mule;
+package io.github.mountainrange.mule.

-import io.github.mountainrange.mule.enums.*;
-import io.github.mountainrange.mule.gameplay.Player;
+import io.github.mountainrange.mule.enums.*.
+import io.github.mountainrange.mule.gameplay.Player.

-import java.util.List;
+import java.util.List.

 /**
  * Simple config class
  */
 public class Config {

-   private static Config instance = null;
-
-   public static final String DEFAULT_PACK = "fancy";
-   public static final int SELECTOR_SPEED = 1;
-   public static final int MESSAGE_DURATION = 3;
-
-   public Difficulty difficulty;
-   public GameType gameType;
-   public MapSize mapSize;
-   public MapType mapType;
-   public Player[] playerList;
-   public int currentPlayer;
-   public int numOfPlayers;
-   public int maxPlayers;
-   public List<Player> buyers;
-   public Race race;
-   public boolean fadeEnabled;
-   public boolean selectEnabled;
+   private static Config instance = null.
+
+   public static final String DEFAULT_PACK = "fancy".
+   public static final int SELECTOR_SPEED = 1.
+   public static final int MESSAGE_DURATION = 3.
+
+   public Difficulty difficulty.
+   public GameType gameType.
+   public MapSize mapSize.
+   public MapType mapType.
+   public Player[] playerList.
+   public int currentPlayer.
+   public int numOfPlayers.
+   public int maxPlayers.
+   public List<Player> buyers.
+   public Race race.
+   public boolean fadeEnabled.
+   public boolean selectEnabled.

    protected Config() {
-       difficulty = Difficulty.MESA;
-       gameType = GameType.HOTSEAT;
-       mapSize = MapSize.ALPS;
-       mapType = MapType.CLASSIC;
-       currentPlayer = 0;
-       numOfPlayers = 2;
-       maxPlayers = 4;
-       race = Race.FOLD;
-       fadeEnabled = false;
-       selectEnabled = false;
+       difficulty = Difficulty.MESA.
+       gameType = GameType.HOTSEAT.
+       mapSize = MapSize.ALPS.
+       mapType = MapType.CLASSIC.
+       currentPlayer = 0.
+       numOfPlayers = 2.
+       maxPlayers = 4.
+       race = Race.FOLD.
+       fadeEnabled = false.
+       selectEnabled = false.
    }

    public static Config getInstance() {
        if (instance == null) {
-           instance = new Config();
+           instance = new Config().
        }
-       return instance;
+       return instance.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/GameManager.java b/src/main/java/io/github/mountainrange/mule/GameManager.java
index 7e052b5a2faf52cc11bfee9982f29dfc8c17bc87..d1588750cba31a0461ef2c7db48bce46a101547b 100644
--- a/src/main/java/io/github/mountainrange/mule/GameManager.java
+++ b/src/main/java/io/github/mountainrange/mule/GameManager.java
@@ -1,108 +1,108 @@
-package io.github.mountainrange.mule;
-
-import io.github.mountainrange.mule.enums.GameType;
-import io.github.mountainrange.mule.enums.MessageType;
-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.ResourceType;
-import io.github.mountainrange.mule.gameplay.*;
-import io.github.mountainrange.mule.managers.*;
-
-import javafx.animation.KeyFrame;
-import javafx.animation.Timeline;
-import javafx.event.ActionEvent;
-import javafx.geometry.Point2D;
-import javafx.scene.control.Label;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseEvent;
-import javafx.util.Duration;
-
-import java.util.*;
+package io.github.mountainrange.mule.
+
+import io.github.mountainrange.mule.enums.GameType.
+import io.github.mountainrange.mule.enums.MessageType.
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.ResourceType.
+import io.github.mountainrange.mule.gameplay.*.
+import io.github.mountainrange.mule.managers.*.
+
+import javafx.animation.KeyFrame.
+import javafx.animation.Timeline.
+import javafx.event.ActionEvent.
+import javafx.geometry.Point2D.
+import javafx.scene.control.Label.
+import javafx.scene.input.KeyEvent.
+import javafx.scene.input.MouseEvent.
+import javafx.util.Duration.
+
+import java.util.*.

 /**
  * Holds key information about the state of the game, and drives turns.
  */
 public class GameManager {

-   private List<Player> playerList;
-   private List<Player> buyers;
-   private List<Player> turnOrder;
+   private List<Player> playerList.
+   private List<Player> buyers.
+   private List<Player> turnOrder.

-   private Config config;
-   private SceneLoader sceneLoader;
-   private Shop shop;
-   private WorldMap map;
+   private Config config.
+   private SceneLoader sceneLoader.
+   private Shop shop.
+   private WorldMap map.

-   private KeyBindManager keyManager;
-   private MouseHandler mouseHandler;
-   private RandomEventManager randManager;
-   private Timeline selectorTimeline;
-   private Timeline timerTimeline;
-   private Timeline messageTimeline;
+   private KeyBindManager keyManager.
+   private MouseHandler mouseHandler.
+   private RandomEventManager randManager.
+   private Timeline selectorTimeline.
+   private Timeline timerTimeline.
+   private Timeline messageTimeline.

-   private Label resourceLabel;
-   private Label turnLabel;
+   private Label resourceLabel.
+   private Label turnLabel.

-   private boolean freeLand;
-   private boolean gambleFlag;
-   private boolean inAuction;
+   private boolean freeLand.
+   private boolean gambleFlag.
+   private boolean inAuction.

-   private int currentPlayerNum;
-   private int foodRequired;
-   private int passCounter;
-   private int phaseCount;
-   private int roundCount;
-   private int timeLeft;
+   private int currentPlayerNum.
+   private int foodRequired.
+   private int passCounter.
+   private int phaseCount.
+   private int roundCount.
+   private int timeLeft.

    public GameManager(WorldMap map, Label turnLabel, Label resourceLabel, SceneLoader sceneLoader) {
-       this.map = map;
-       this.resourceLabel = resourceLabel;
-       this.sceneLoader = sceneLoader;
-       this.turnLabel = turnLabel;
+       this.map = map.
+       this.resourceLabel = resourceLabel.
+       this.sceneLoader = sceneLoader.
+       this.turnLabel = turnLabel.

-       config = Config.getInstance();
-       playerList = new ArrayList<>(Arrays.asList(config.playerList).subList(0, config.numOfPlayers));
-       buyers = new ArrayList<>();
-       turnOrder = new ArrayList<>(playerList);
-       shop = new Shop(config.difficulty);
+       config = Config.getInstance().
+       playerList = new ArrayList<>(Arrays.asList(config.playerList).subList(0, config.numOfPlayers)).
+       buyers = new ArrayList<>().
+       turnOrder = new ArrayList<>(playerList).
+       shop = new Shop(config.difficulty).

-       currentPlayerNum = 0;
-       passCounter = 0;
-       phaseCount = 0;
-       roundCount = -2;
-       timeLeft = 0;
+       currentPlayerNum = 0.
+       passCounter = 0.
+       phaseCount = 0.
+       roundCount = -2.
+       timeLeft = 0.

-       freeLand = true;
+       freeLand = true.

-       keyManager = new KeyBindManager();
-       mouseHandler = new MouseHandler();
-       randManager = new RandomEventManager();
+       keyManager = new KeyBindManager().
+       mouseHandler = new MouseHandler().
+       randManager = new RandomEventManager().

        selectorTimeline = new Timeline(
                new KeyFrame(
                        Duration.seconds(Config.SELECTOR_SPEED),
                        this::selectorAction
                )
-       );
-       selectorTimeline.setCycleCount(Timeline.INDEFINITE);
+       ).
+       selectorTimeline.setCycleCount(Timeline.INDEFINITE).

        timerTimeline = new Timeline(
                new KeyFrame(
                        Duration.seconds(Config.SELECTOR_SPEED),
                        this::turnTimerAction
                )
-       );
-       timerTimeline.setCycleCount(Timeline.INDEFINITE);
+       ).
+       timerTimeline.setCycleCount(Timeline.INDEFINITE).

        messageTimeline = new Timeline(
                new KeyFrame(
                        Duration.seconds(Config.MESSAGE_DURATION),
                        this::messageAction
                )
-       );
-       messageTimeline.setCycleCount(1);
+       ).
+       messageTimeline.setCycleCount(1).

-       nextRound();
+       nextRound().
    }

    /*
@@ -110,11 +110,11 @@ public class GameManager {
     */
    public void pass() {
        if (!freeLand) {
-           passCounter++;
-           currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers;
-           setLabels();
+           passCounter++.
+           currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers.
+           setLabels().
            if (config.numOfPlayers == passCounter) {
-               nextRound();
+               nextRound().
            }
        }

@@ -126,14 +126,14 @@ public class GameManager {
     * Matthew don't copy paste code...
     */
    public void incrementTurn() {
-       passCounter++;
-       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers;
-       setLabels();
+       passCounter++.
+       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers.
+       setLabels().
        if (config.numOfPlayers == passCounter) {
-           nextRound();
+           nextRound().
        }
        if (currentPlayerNum == 0) {
-           passCounter = 0;
+           passCounter = 0.
        }
    }

@@ -143,43 +143,43 @@ public class GameManager {
     */
    public void buyTile(Player player) {
        if (player.hasMule()) {
-           map.placeMule(player);
+           map.placeMule(player).
        } else {
            if (map.getOwner() == null) {
-               int cost = (int) (300 + (roundCount * Math.random() * 100));
+               int cost = (int) (300 + (roundCount * Math.random() * 100)).
                if (cost > player.getMoney()) {
-                   System.out.println("Not enough money");
-                   return;
+                   System.out.println("Not enough money").
+                   return.
                }
                if (phaseCount == 0) {
                    if (config.gameType == GameType.HOTSEAT) {
-                       cost = (int) (300 + (Math.random() * 100));
-                       map.sellTile(player);
-                       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers;
-                       setLabels();
+                       cost = (int) (300 + (Math.random() * 100)).
+                       map.sellTile(player).
+                       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers.
+                       setLabels().
                        if (!freeLand) {
-                           player.setMoney(player.getMoney() - cost);
+                           player.setMoney(player.getMoney() - cost).
                            if (currentPlayerNum == 0) {
-                               passCounter = 0;
+                               passCounter = 0.
                            }
                            if (config.numOfPlayers == passCounter) {
-                               nextRound();
+                               nextRound().
                            }
                        } else if (freeLand) {
                            if (currentPlayerNum == 0) {
-                               passCounter = 0;
-                               nextRound();
+                               passCounter = 0.
+                               nextRound().
                            }
                        }
                    } else if (config.gameType == GameType.SIMULTANEOUS) {
                        if (map.countLandOwnedBy(player) < roundCount + 3) {
-                           buyers.add(player);
+                           buyers.add(player).
                        }
                    }
                } else if (phaseCount == 1) {
-                   player.setMoney(player.getMoney() - cost);
-                   map.sellTile(player);
-                   setLabels();
+                   player.setMoney(player.getMoney() - cost).
+                   map.sellTile(player).
+                   setLabels().
                }
            }
        }
@@ -187,22 +187,22 @@ public class GameManager {

    private void delayedBuy() {
        if (buyers.size() > 0) {
-           Player player = buyers.get(0);
+           Player player = buyers.get(0).
            if (!freeLand) {
-               int cost = (int)(300 + (roundCount * Math.random() * 100));
+               int cost = (int)(300 + (roundCount * Math.random() * 100)).
                if (cost > player.getMoney()) {
-                   System.out.println("Not enough money");
-                   return;
+                   System.out.println("Not enough money").
+                   return.
                }
-               map.sellTile(player);
-               setLabels();
-               player.setMoney(player.getMoney() - cost);
+               map.sellTile(player).
+               setLabels().
+               player.setMoney(player.getMoney() - cost).
            } else  {
-               map.sellTile(player);
-               setLabels();
+               map.sellTile(player).
+               setLabels().
            }
        }
-       buyers.clear();
+       buyers.clear().
    }

    /**
@@ -212,25 +212,25 @@ public class GameManager {
    private boolean allBoughtLand() {
        for (Player p : playerList) {
            if (map.countLandOwnedBy(p) < roundCount) {
-               return false;
+               return false.
            }
        }
-       return true;
+       return true.
    }

    /**
     * Update the HUD with the current player's statistics.
     */
    public void setLabels() {
-       Player currentPlayer = turnOrder.get(currentPlayerNum);
-       turnLabel.setText(turnOrder.get(currentPlayerNum).getName() + "'s Turn " + timeLeft);
+       Player currentPlayer = turnOrder.get(currentPlayerNum).
+       turnLabel.setText(turnOrder.get(currentPlayerNum).getName() + "'s Turn " + timeLeft).
        String s = String.format("%1$s's Money: %2$s F: %3$s E: %4$s S: %5$s C: %6$s",
                currentPlayer.getName(), currentPlayer.getMoney(),
                currentPlayer.stockOf(ResourceType.FOOD),
                currentPlayer.stockOf(ResourceType.ENERGY),
                currentPlayer.stockOf(ResourceType.SMITHORE),
-               currentPlayer.stockOf(ResourceType.CRYSTITE));
-       resourceLabel.setText(s);
+               currentPlayer.stockOf(ResourceType.CRYSTITE)).
+       resourceLabel.setText(s).
    }

    /**
@@ -240,26 +240,26 @@ public class GameManager {
    private void nextRound() {

        // Reorder players based on score
-       calculateTurnOrder();
+       calculateTurnOrder().
        // Increment roundCount to the next round
-       roundCount++;
+       roundCount++.

-       passCounter = 0;
-       setLabels();
+       passCounter = 0.
+       setLabels().
        if (roundCount == 0) {
-           freeLand = false;
-           foodRequired = 3;
+           freeLand = false.
+           foodRequired = 3.
        } else if (roundCount == 1) {
-           phaseCount = 1;
+           phaseCount = 1.
        } else if (roundCount == 5) {
-           foodRequired++;
+           foodRequired++.
        } else if (roundCount == 9) {
-           foodRequired++;
+           foodRequired++.
        }
        if (phaseCount == 0) {
-           landGrabPhase();
+           landGrabPhase().
        } else if (phaseCount == 1) {
-           normalPhase();
+           normalPhase().
        }
    }

@@ -268,24 +268,24 @@ public class GameManager {
     */
    public void endTurn() {
        if (!sceneLoader.getCurrentScene().equals(MULE.PLAY_SCENE)) {
-           sceneLoader.setScene(MULE.PLAY_SCENE);
+           sceneLoader.setScene(MULE.PLAY_SCENE).
        }
        // Stop the ticking turn timer
-       timerTimeline.stop();
+       timerTimeline.stop().
        // Clear the player's MULE, if the player is carrying one
-       turnOrder.get(currentPlayerNum).setMule(null);
-       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers;
+       turnOrder.get(currentPlayerNum).setMule(null).
+       currentPlayerNum = (currentPlayerNum + 1) % config.numOfPlayers.
        // Display message announcing the start of the new player's turn
-       //showCustomText(MessageType.TURN.getPlayerTurnMessage(currentPlayerNum));
+       //showCustomText(MessageType.TURN.getPlayerTurnMessage(currentPlayerNum)).
        // Get Random Event that occurred
-       randManager.runRandomEvent(new GameState(this, map), currentPlayerNum == 0);
+       randManager.runRandomEvent(new GameState(this, map), currentPlayerNum == 0).

-       turnTimer();
-       setLabels();
+       turnTimer().
+       setLabels().

        if (currentPlayerNum == 0) {
-           nextRound();
+           nextRound().
        }
    }

@@ -294,14 +294,14 @@ public class GameManager {
     * @param msg
     */
    public void showText(MessageType msg) {
-       map.showText(msg);
+       map.showText(msg).
    }
    public void showCustomText(String msg) {
-       map.showCustomText(msg);
+       map.showCustomText(msg).
    }
    public void showTempText(MessageType msg) {
-       showText(msg);
-       messageTimeline.playFromStart();
+       showText(msg).
+       messageTimeline.playFromStart().
    }

    /**
@@ -309,84 +309,84 @@ public class GameManager {
     * @param e
     */
    private void messageAction(ActionEvent e) {
-       showText(MessageType.NONE);
+       showText(MessageType.NONE).
    }

    public void decreaseFood(MessageType msg) {
        if (msg == MessageType.LOSEFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, -1);
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, -1).
        } else if (msg == MessageType.LOSESOMEFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, -(player.stockOf(ResourceType.FOOD) / 4));
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, -(player.stockOf(ResourceType.FOOD) / 4)).
        } else if (msg == MessageType.LOSEHALFFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, -(player.stockOf(ResourceType.FOOD) / 2));
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, -(player.stockOf(ResourceType.FOOD) / 2)).
        } else if (msg == MessageType.GAINFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, 1);
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, 1).
        } else if (msg == MessageType.GAINSOMEFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, (player.stockOf(ResourceType.FOOD) / 2));
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, (player.stockOf(ResourceType.FOOD) / 2)).
        } else if (msg == MessageType.GAINDOUBLEFOOD) {
-           Player player = playerList.get(currentPlayerNum);
-           player.changeStockOf(ResourceType.FOOD, player.stockOf(ResourceType.FOOD));
+           Player player = playerList.get(currentPlayerNum).
+           player.changeStockOf(ResourceType.FOOD, player.stockOf(ResourceType.FOOD)).
        }
    }

    private void landGrabPhase() {
-       showTempText(MessageType.LANDGRAB);
-       map.select(0, 0);
+       showTempText(MessageType.LANDGRAB).
+       map.select(0, 0).
        if (config.gameType == GameType.HOTSEAT) {
            if (config.selectEnabled) {
-               runSelector();
+               runSelector().
            }
        } else if (config.gameType == GameType.SIMULTANEOUS) {
-           turnLabel.setText("Land grab Phase");
-           runSelector();
+           turnLabel.setText("Land grab Phase").
+           runSelector().
        }
    }

    private void normalPhase() {
        if (roundCount == 1) {
-           randManager.runRandomEvent(new GameState(this, map), currentPlayerNum == 0);
+           randManager.runRandomEvent(new GameState(this, map), currentPlayerNum == 0).
        }
        if (roundCount > 1) {
-           calculateProduction();
+           calculateProduction().
        }
-       map.select(4, 2);
-       setLabels();
-       turnTimer();
+       map.select(4, 2).
+       setLabels().
+       turnTimer().
    }

    private void calculateProduction() {
        // Calculate production for all players on the given round
        Map<Player, EnumMap<ResourceType, ProductionResult>> production = ProductionManager.calculateProduction(map,
-               playerList, roundCount);
+               playerList, roundCount).

        // Apply production results
        for (Map.Entry<Player, EnumMap<ResourceType, ProductionResult>> playerEntry : production.entrySet()) {
-           Player player = playerEntry.getKey();
-           EnumMap<ResourceType, ProductionResult> resourceResults = playerEntry.getValue();
+           Player player = playerEntry.getKey().
+           EnumMap<ResourceType, ProductionResult> resourceResults = playerEntry.getValue().

            for (Map.Entry<ResourceType, ProductionResult> resourceEntry : resourceResults.entrySet()) {
-               ResourceType resource = resourceEntry.getKey();
-               ProductionResult productionResult = resourceEntry.getValue();
+               ResourceType resource = resourceEntry.getKey().
+               ProductionResult productionResult = resourceEntry.getValue().

                // For each resource, change the player's stock by the appropriate amount
-               player.changeStockOf(resource, productionResult.delta());
+               player.changeStockOf(resource, productionResult.delta()).
            }
        }
    }

    private void enterAuction(List<Player> buyers) {
-       setInAuction(true);
-       config.buyers = new ArrayList<>(buyers);
-       sceneLoader.setScene(MULE.AUCTION_SCENE);
+       setInAuction(true).
+       config.buyers = new ArrayList<>(buyers).
+       sceneLoader.setScene(MULE.AUCTION_SCENE).
    }

    public void setInAuction(boolean inAuction) {
-       this.inAuction = inAuction;
+       this.inAuction = inAuction.
    }

    /**
@@ -394,7 +394,7 @@ public class GameManager {
     * players to buy the currently selected tile.
     */
    private void runSelector() {
-       selectorTimeline.play();
+       selectorTimeline.play().
    }

    /**
@@ -403,16 +403,16 @@ public class GameManager {
     */
    private void selectorAction(ActionEvent event) {
        if (!inAuction && phaseCount == 0) {
-           delayedBuy();
-           map.selectRightWrap();
+           delayedBuy().
+           map.selectRightWrap().
        }
        if (allBoughtLand() && freeLand) {
-           selectorTimeline.stop();
-           nextRound();
+           selectorTimeline.stop().
+           nextRound().
        }
        if (config.numOfPlayers == passCounter) {
-           selectorTimeline.stop();
-           nextRound();
+           selectorTimeline.stop().
+           nextRound().
        }
    }

@@ -421,11 +421,11 @@ public class GameManager {
     */
    private void resetTimer() {
        if (turnOrder.get(currentPlayerNum).stockOf(ResourceType.FOOD) < foodRequired) {
-           timeLeft = 30;
+           timeLeft = 30.
        } else if (turnOrder.get(currentPlayerNum).stockOf(ResourceType.FOOD) <= 0) {
-           timeLeft = 5;
+           timeLeft = 5.
        } else {
-           timeLeft = 50;
+           timeLeft = 50.
        }
    }

@@ -434,8 +434,8 @@ public class GameManager {
     * turn when they are out of time.
     */
    private void turnTimer() {
-       resetTimer();
-       timerTimeline.play();
+       resetTimer().
+       timerTimeline.play().
    }

    /**
@@ -443,15 +443,15 @@ public class GameManager {
     * @param event event to react to
     */
    private void turnTimerAction(ActionEvent event) {
-       timeLeft--;
-       setLabels();
+       timeLeft--.
+       setLabels().
        if (gambleFlag) {
-           gambleFlag = false;
-           turnOrder.get(currentPlayerNum).addMoney(Shop.gamblingProfit(roundCount, timeLeft));
-           endTurn();
+           gambleFlag = false.
+           turnOrder.get(currentPlayerNum).addMoney(Shop.gamblingProfit(roundCount, timeLeft)).
+           endTurn().
        }
        if (timeLeft <= 0) {
-           endTurn();
+           endTurn().
        }
    }

@@ -461,31 +461,31 @@ public class GameManager {
     * @return map of players to their scores
     */
    public Map<Player, Integer> scoreGame() {
-       Map<Player, Integer> scores = new HashMap<>();
+       Map<Player, Integer> scores = new HashMap<>().

        // Compute score from total number of mules in store
-       int muleScore = shop.muleStock() * 35;
+       int muleScore = shop.muleStock() * 35.
        for (Player player : playerList) {
            // Add score from money and mules
-           int score = player.getMoney() + muleScore;
+           int score = player.getMoney() + muleScore.

            // Add score from player resources
            for (ResourceType resource : ResourceType.values()) {
-               score += player.stockOf(resource) * shop.priceOf(resource);
+               score += player.stockOf(resource) * shop.priceOf(resource).
            }

            // Add score from tiles owned and MULEs installed
-           score += map.countLandOwnedBy(player) * 500;
+           score += map.countLandOwnedBy(player) * 500.
            for (Tile tile : map.landOwnedBy(player)) {
                if (tile.getMule() != MuleType.EMPTY) {
-                   score += Shop.outfitPriceOf(tile.getMule());
+                   score += Shop.outfitPriceOf(tile.getMule()).
                }
            }

-           scores.put(player, score);
+           scores.put(player, score).
        }

-       return scores;
+       return scores.
    }

    /**
@@ -494,8 +494,8 @@ public class GameManager {
     * {@code turnOrder} holds the sorted version of {@code playerList}.
     */
    public void calculateTurnOrder() {
-       Map<Player, Integer> scores = scoreGame();
-       turnOrder.sort((p1, p2) -> scores.get(p1) - scores.get(p2));
+       Map<Player, Integer> scores = scoreGame().
+       turnOrder.sort((p1, p2) -> scores.get(p1) - scores.get(p2)).
    }

    /**
@@ -503,24 +503,24 @@ public class GameManager {
     * and causes the turn to end and gives the player the money earned gambling.
     */
    public void setGambleFlag() {
-       gambleFlag = true;
+       gambleFlag = true.
    }

    public void handleKey(KeyEvent e) {
        this.keyManager.handleKey(new GameView(config.gameType, sceneLoader.getCurrentScene(), phaseCount),
-               e.getCode(), new GameState(this, map));
+               e.getCode(), new GameState(this, map)).
    }

    public List<Player> getPlayerList() {
-       return playerList;
+       return playerList.
    }

    public int getCurrentPlayerNum() {
-       return currentPlayerNum;
+       return currentPlayerNum.
    }

    public Player getCurrentPlayer() {
-       return turnOrder.get(currentPlayerNum);
+       return turnOrder.get(currentPlayerNum).
    }

    /**
@@ -528,18 +528,18 @@ public class GameManager {
     * @return {@code Shop} associated with this {@code GameManager}
     */
    public Shop getShop() {
-       return shop;
+       return shop.
    }

    /**
     * Attempt to buy the currently selected tile for the current player.
     */
    public void buyTile() {
-       buyTile(turnOrder.get(currentPlayerNum));
+       buyTile(turnOrder.get(currentPlayerNum)).
    }

    public void handleMouse(MouseEvent e) {
-       this.mouseHandler.handleEvent(e);
+       this.mouseHandler.handleEvent(e).
    }

    /**
@@ -550,7 +550,7 @@ public class GameManager {
            if (e.getEventType().getName().equals("MOUSE_PRESSED")) {
                if (map.isInside(new Point2D(e.getX(), e.getY()), (map.getColumns() / 2), (map.getRows() / 2))) {
                    if (phaseCount == 1) {
-                       sceneLoader.setScene(MULE.TOWN_SCENE);
+                       sceneLoader.setScene(MULE.TOWN_SCENE).
                    }
                }
            }
diff --git a/src/main/java/io/github/mountainrange/mule/MULE.java b/src/main/java/io/github/mountainrange/mule/MULE.java
index 937f195998d63da2c35917f3048d5461ec28bb32..69fe4b474875abd58926689acd5fd1f27a3628d9 100644
--- a/src/main/java/io/github/mountainrange/mule/MULE.java
+++ b/src/main/java/io/github/mountainrange/mule/MULE.java
@@ -1,114 +1,114 @@
-package io.github.mountainrange.mule;
+package io.github.mountainrange.mule.

-import javafx.application.Application;
-import javafx.scene.layout.BorderPane;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
+import javafx.application.Application.
+import javafx.scene.layout.BorderPane.
+import javafx.scene.Scene.
+import javafx.stage.Stage.

 public class MULE extends Application {

-   public static final double HSIZE = 800;
-   public static final double VSIZE = 480;
-
-   public static final String MAIN_SCENE = "main";
-   public static final String MAIN_SCENE_FXML = "/fxml/main.fxml";
-   public static final String STORE_SCENE = "storeMenu";
-   public static final String STORE_SCENE_FXML = "/fxml/storeMenu.fxml";
-   public static final String PUB_SCENE = "pubMenu";
-   public static final String PUB_SCENE_FXML = "/fxml/pubMenu.fxml";
-   public static final String LAND_OFFICE_SCENE = "landOfficeMenu";
-   public static final String LAND_OFFICE_SCENE_FXML = "/fxml/landOfficeMenu.fxml";
-   public static final String ASSAY_OFFICE_SCENE = "assayOfficeMenu";
-   public static final String ASSAY_OFFICE_SCENE_FXML = "/fxml/assayOfficeMenu.fxml";
-   public static final String TOWN_SCENE = "townMenu";
-   public static final String TOWN_SCENE_FXML = "/fxml/townMenu.fxml";
-   public static final String PLAY_SCENE = "play";
-   public static final String PLAY_SCENE_FXML = "/fxml/play.fxml";
-   public static final String OPTIONS_SCENE = "options";
-   public static final String OPTIONS_SCENE_FXML = "/fxml/options.fxml";
-   public static final String CREDITS_SCENE = "credits";
-   public static final String CREDITS_SCENE_FXML = "/fxml/credits.fxml";
-   public static final String GAME_CONFIG_SCENE = "gameConfiguration";
-   public static final String GAME_CONFIG_SCENE_FXML = "/fxml/gameConfiguration.fxml";
-   public static final String PLAYER_CONFIG_SCENE = "playerConfiguration";
-   public static final String PLAYER_CONFIG_SCENE_FXML = "/fxml/playerConfiguration.fxml";
-   public static final String AUCTION_SCENE = "auction";
-   public static final String AUCTION_SCENE_FXML = "/fxml/auction.fxml";
-
-   public static final String ABOUT_SCENE = "about";
-   public static final String ABOUT_SCENE_FXML = "/fxml/about.fxml";
-
-   public static final String MENU_BAR_SCENE = "menuBar";
-   public static final String MENU_BAR_SCENE_FXML = "/fxml/menuBar.fxml";
-
-   private Stage primaryStage;
-   private SceneLoader sceneLoader;
-   private SceneLoader menuBar;
-   private GameManager manager;
+   public static final double HSIZE = 800.
+   public static final double VSIZE = 480.
+
+   public static final String MAIN_SCENE = "main".
+   public static final String MAIN_SCENE_FXML = "/fxml/main.fxml".
+   public static final String STORE_SCENE = "storeMenu".
+   public static final String STORE_SCENE_FXML = "/fxml/storeMenu.fxml".
+   public static final String PUB_SCENE = "pubMenu".
+   public static final String PUB_SCENE_FXML = "/fxml/pubMenu.fxml".
+   public static final String LAND_OFFICE_SCENE = "landOfficeMenu".
+   public static final String LAND_OFFICE_SCENE_FXML = "/fxml/landOfficeMenu.fxml".
+   public static final String ASSAY_OFFICE_SCENE = "assayOfficeMenu".
+   public static final String ASSAY_OFFICE_SCENE_FXML = "/fxml/assayOfficeMenu.fxml".
+   public static final String TOWN_SCENE = "townMenu".
+   public static final String TOWN_SCENE_FXML = "/fxml/townMenu.fxml".
+   public static final String PLAY_SCENE = "play".
+   public static final String PLAY_SCENE_FXML = "/fxml/play.fxml".
+   public static final String OPTIONS_SCENE = "options".
+   public static final String OPTIONS_SCENE_FXML = "/fxml/options.fxml".
+   public static final String CREDITS_SCENE = "credits".
+   public static final String CREDITS_SCENE_FXML = "/fxml/credits.fxml".
+   public static final String GAME_CONFIG_SCENE = "gameConfiguration".
+   public static final String GAME_CONFIG_SCENE_FXML = "/fxml/gameConfiguration.fxml".
+   public static final String PLAYER_CONFIG_SCENE = "playerConfiguration".
+   public static final String PLAYER_CONFIG_SCENE_FXML = "/fxml/playerConfiguration.fxml".
+   public static final String AUCTION_SCENE = "auction".
+   public static final String AUCTION_SCENE_FXML = "/fxml/auction.fxml".
+
+   public static final String ABOUT_SCENE = "about".
+   public static final String ABOUT_SCENE_FXML = "/fxml/about.fxml".
+
+   public static final String MENU_BAR_SCENE = "menuBar".
+   public static final String MENU_BAR_SCENE_FXML = "/fxml/menuBar.fxml".
+
+   private Stage primaryStage.
+   private SceneLoader sceneLoader.
+   private SceneLoader menuBar.
+   private GameManager manager.

    @Override
    public void start(Stage pStage) throws Exception {
-       primaryStage = pStage;
-
-       sceneLoader = new SceneLoader(this);
-       sceneLoader.loadScene(MAIN_SCENE, MAIN_SCENE_FXML);
-       sceneLoader.loadScene(STORE_SCENE, STORE_SCENE_FXML);
-       sceneLoader.loadScene(PUB_SCENE, PUB_SCENE_FXML);
-       sceneLoader.loadScene(LAND_OFFICE_SCENE, LAND_OFFICE_SCENE_FXML);
-       sceneLoader.loadScene(ASSAY_OFFICE_SCENE, ASSAY_OFFICE_SCENE_FXML);
-       sceneLoader.loadScene(TOWN_SCENE, TOWN_SCENE_FXML);
-       sceneLoader.loadScene(PLAY_SCENE, PLAY_SCENE_FXML);
-       sceneLoader.loadScene(OPTIONS_SCENE, OPTIONS_SCENE_FXML);
-       sceneLoader.loadScene(CREDITS_SCENE, CREDITS_SCENE_FXML);
-       sceneLoader.loadScene(GAME_CONFIG_SCENE, GAME_CONFIG_SCENE_FXML);
-       sceneLoader.loadScene(PLAYER_CONFIG_SCENE, PLAYER_CONFIG_SCENE_FXML);
-       sceneLoader.loadScene(ABOUT_SCENE, ABOUT_SCENE_FXML);
-       sceneLoader.loadScene(AUCTION_SCENE, AUCTION_SCENE_FXML);
-       sceneLoader.setScene(MAIN_SCENE);
-
-       menuBar = new SceneLoader(this);
-       menuBar.loadScene(MENU_BAR_SCENE, MENU_BAR_SCENE_FXML);
-       menuBar.setScene(MENU_BAR_SCENE);
-
-       BorderPane overlay = new BorderPane();
-       overlay.setCenter(sceneLoader);
-       overlay.setTop(menuBar);
-
-       Scene mainScene = new Scene(overlay, 640, 360);
-
-       primaryStage.setTitle("MULE");
-       primaryStage.setScene(mainScene);
-       primaryStage.setMinHeight(600);
-       primaryStage.setMinWidth(600);
-       primaryStage.show();
+       primaryStage = pStage.
+
+       sceneLoader = new SceneLoader(this).
+       sceneLoader.loadScene(MAIN_SCENE, MAIN_SCENE_FXML).
+       sceneLoader.loadScene(STORE_SCENE, STORE_SCENE_FXML).
+       sceneLoader.loadScene(PUB_SCENE, PUB_SCENE_FXML).
+       sceneLoader.loadScene(LAND_OFFICE_SCENE, LAND_OFFICE_SCENE_FXML).
+       sceneLoader.loadScene(ASSAY_OFFICE_SCENE, ASSAY_OFFICE_SCENE_FXML).
+       sceneLoader.loadScene(TOWN_SCENE, TOWN_SCENE_FXML).
+       sceneLoader.loadScene(PLAY_SCENE, PLAY_SCENE_FXML).
+       sceneLoader.loadScene(OPTIONS_SCENE, OPTIONS_SCENE_FXML).
+       sceneLoader.loadScene(CREDITS_SCENE, CREDITS_SCENE_FXML).
+       sceneLoader.loadScene(GAME_CONFIG_SCENE, GAME_CONFIG_SCENE_FXML).
+       sceneLoader.loadScene(PLAYER_CONFIG_SCENE, PLAYER_CONFIG_SCENE_FXML).
+       sceneLoader.loadScene(ABOUT_SCENE, ABOUT_SCENE_FXML).
+       sceneLoader.loadScene(AUCTION_SCENE, AUCTION_SCENE_FXML).
+       sceneLoader.setScene(MAIN_SCENE).
+
+       menuBar = new SceneLoader(this).
+       menuBar.loadScene(MENU_BAR_SCENE, MENU_BAR_SCENE_FXML).
+       menuBar.setScene(MENU_BAR_SCENE).
+
+       BorderPane overlay = new BorderPane().
+       overlay.setCenter(sceneLoader).
+       overlay.setTop(menuBar).
+
+       Scene mainScene = new Scene(overlay, 640, 360).
+
+       primaryStage.setTitle("MULE").
+       primaryStage.setScene(mainScene).
+       primaryStage.setMinHeight(600).
+       primaryStage.setMinWidth(600).
+       primaryStage.show().
    }

    public GameManager getGameManager() {
-       return manager;
+       return manager.
    }

    public void setGameManager(GameManager manager) {
-       this.manager = manager;
+       this.manager = manager.
    }

    public void setCenterScene(String name) {
-       sceneLoader.setScene(name);
+       sceneLoader.setScene(name).
    }

    public void setMenuScene(String name) {
-       menuBar.setScene(name);
+       menuBar.setScene(name).
    }

    public void setFullscreen(Boolean b) {
-       primaryStage.setFullScreen(b);
+       primaryStage.setFullScreen(b).
    }

    public void close() {
-       primaryStage.close();
+       primaryStage.close().
    }

    public static void main(String[] args) {
-       launch(args);
+       launch(args).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/SceneLoader.java b/src/main/java/io/github/mountainrange/mule/SceneLoader.java
index 2fde1c54f95c7e0a25f788bdd8397b77a365895d..c142bfcbf28db3e40cf1a53d03b930d0a9c06cbf 100644
--- a/src/main/java/io/github/mountainrange/mule/SceneLoader.java
+++ b/src/main/java/io/github/mountainrange/mule/SceneLoader.java
@@ -1,121 +1,121 @@
-package io.github.mountainrange.mule;
+package io.github.mountainrange.mule.

-import io.github.mountainrange.mule.controllers.SceneAgent;
+import io.github.mountainrange.mule.controllers.SceneAgent.

-import javafx.animation.KeyFrame;
-import javafx.animation.KeyValue;
-import javafx.animation.Timeline;
-import javafx.beans.property.DoubleProperty;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.layout.AnchorPane;
-import javafx.scene.Node;
-import javafx.scene.Parent;
-import javafx.util.Duration;
+import javafx.animation.KeyFrame.
+import javafx.animation.KeyValue.
+import javafx.animation.Timeline.
+import javafx.beans.property.DoubleProperty.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXMLLoader.
+import javafx.scene.layout.AnchorPane.
+import javafx.scene.Node.
+import javafx.scene.Parent.
+import javafx.util.Duration.

-import java.util.HashMap;
-import java.util.Stack;
+import java.util.HashMap.
+import java.util.Stack.

 /**
  * This class handles setting the displayed scene a given FXML layout.
  */
 public class SceneLoader extends AnchorPane {

-   private MULE mule;
-   private HashMap<String, Node> scenes = new HashMap<>();
-   private HashMap<String, SceneAgent> controllers = new HashMap<>();
-   private Stack<String> sceneHistory;
-   private boolean settingScene = false;
+   private MULE mule.
+   private HashMap<String, Node> scenes = new HashMap<>().
+   private HashMap<String, SceneAgent> controllers = new HashMap<>().
+   private Stack<String> sceneHistory.
+   private boolean settingScene = false.

    public SceneLoader(MULE mule) {
-       this.mule = mule; // application reference for frame, other sceneloaders, etc.
-       sceneHistory = new Stack<>();
+       this.mule = mule. // application reference for frame, other sceneloaders, etc.
+       sceneHistory = new Stack<>().
    }

    private void addScene(String name, Node scene) {
-       scenes.put(name, scene);
+       scenes.put(name, scene).
    }

    private void addController(String name, SceneAgent scene) {
-       controllers.put(name, scene);
+       controllers.put(name, scene).
    }

    // Loads the scene once so it never has to reload
    public boolean loadScene(String name, String resource) {
        try {
-           FXMLLoader loader = new FXMLLoader(getClass().getResource(resource));
-           Parent loadScreen = loader.load();
-           SceneAgent sceneControl = loader.getController();
-           sceneControl.setSceneParent(this, mule);
-           addScene(name, loadScreen);
-           addController(name, sceneControl);
-           return true;
+           FXMLLoader loader = new FXMLLoader(getClass().getResource(resource)).
+           Parent loadScreen = loader.load().
+           SceneAgent sceneControl = loader.getController().
+           sceneControl.setSceneParent(this, mule).
+           addScene(name, loadScreen).
+           addController(name, sceneControl).
+           return true.
        } catch(Exception e) {
-           System.err.println(e.getMessage());
-           return false;
+           System.err.println(e.getMessage()).
+           return false.
        }
    }

    // swaps the current scene to another loaded scene
    public boolean setScene(final String name) {
        if (settingScene) {
-           System.err.println("Cannot load scene while already loading another!\n");
-           return false;
+           System.err.println("Cannot load scene while already loading another!\n").
+           return false.
        }

-       Node sceneNode = scenes.get(name);
+       Node sceneNode = scenes.get(name).
        if (scenes.get(name) == null) {
-           System.err.println("Scene hasn't been loaded!\n");
-           return false;
+           System.err.println("Scene hasn't been loaded!\n").
+           return false.
        }

-       settingScene = true;
-       final DoubleProperty opacity = opacityProperty();
+       settingScene = true.
+       final DoubleProperty opacity = opacityProperty().

        if (!getChildren().isEmpty()) {
            if (Config.getInstance().fadeEnabled) {
-               fade(name, opacity);
+               fade(name, opacity).
            } else {
-               getChildren().remove(0);
-               getChildren().add(0, sceneNode);
-               setAnchors(sceneNode);
-               settingScene = false;
+               getChildren().remove(0).
+               getChildren().add(0, sceneNode).
+               setAnchors(sceneNode).
+               settingScene = false.
            }
        } else {
            if (Config.getInstance().fadeEnabled) {
-               fadeIn(name, opacity);
+               fadeIn(name, opacity).
            } else {
-               getChildren().add(sceneNode);
-               setAnchors(sceneNode);
-               settingScene = false;
+               getChildren().add(sceneNode).
+               setAnchors(sceneNode).
+               settingScene = false.
            }
        }

-       controllers.get(name).onSetScene();
+       controllers.get(name).onSetScene().

-       sceneHistory.push(name);
-       return true;
+       sceneHistory.push(name).
+       return true.
    }

    public String getCurrentScene() {
-       return sceneHistory.peek();
+       return sceneHistory.peek().
    }

    public boolean unloadScene(String name) {
        if (scenes.remove(name) == null) {
-           System.err.println("Scene doesn't exist");
-           return false;
+           System.err.println("Scene doesn't exist").
+           return false.
        } else {
-           return true;
+           return true.
        }
    }

    // fills the anchorpane
    private void setAnchors(Node node) {
-       setTopAnchor(node, 0.0);
-       setBottomAnchor(node, 0.0);
-       setRightAnchor(node, 0.0);
-       setLeftAnchor(node, 0.0);
+       setTopAnchor(node, 0.0).
+       setBottomAnchor(node, 0.0).
+       setRightAnchor(node, 0.0).
+       setLeftAnchor(node, 0.0).
    }

    // fade animation
@@ -123,37 +123,37 @@ public class SceneLoader extends AnchorPane {
        Timeline fade = new Timeline(
                new KeyFrame(Duration.ZERO, new KeyValue(opacity, 1.0)),
                new KeyFrame(new Duration(200), (ActionEvent e) -> {
-                   getChildren().remove(0);
-                   getChildren().add(0, scenes.get(name));
-                   setAnchors(scenes.get(name));
+                   getChildren().remove(0).
+                   getChildren().add(0, scenes.get(name)).
+                   setAnchors(scenes.get(name)).
                    Timeline fadeIn = new Timeline(
                            new KeyFrame(Duration.ZERO, new KeyValue(opacity, 0.0)),
-                           new KeyFrame(new Duration(200), new KeyValue(opacity, 1.0)));
-                   fadeIn.play();
-                   settingScene = false;
-               }, new KeyValue(opacity, 0.0)));
-       fade.play();
+                           new KeyFrame(new Duration(200), new KeyValue(opacity, 1.0))).
+                   fadeIn.play().
+                   settingScene = false.
+               }, new KeyValue(opacity, 0.0))).
+       fade.play().
    }

    // fade for first menu (Only fires if fade is enabled before the program starts, currently never)
    private void fadeIn(String name, DoubleProperty opacity) {
-       setOpacity(0.0);
-       getChildren().add(scenes.get(name));
-       setAnchors(scenes.get(name));
+       setOpacity(0.0).
+       getChildren().add(scenes.get(name)).
+       setAnchors(scenes.get(name)).
        Timeline fadeIn = new Timeline(
                new KeyFrame(Duration.ZERO,
                        new KeyValue(opacity, 0.0)),
                new KeyFrame(new Duration(200),
-                       new KeyValue(opacity, 1.0)));
-       fadeIn.play();
-       settingScene = false;
+                       new KeyValue(opacity, 1.0))).
+       fadeIn.play().
+       settingScene = false.
    }

    // Go to previous scene
    public void goBack() {
        if (!settingScene) {
-           sceneHistory.pop();
-           setScene(sceneHistory.pop());
+           sceneHistory.pop().
+           setScene(sceneHistory.pop()).
        }
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/AboutController.java b/src/main/java/io/github/mountainrange/mule/controllers/AboutController.java
index eb3379ea1cbe3753a9908ba94c586e1ebe8611e2..860d2236aee665a044ef2894590bbfa7aebc9790 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/AboutController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/AboutController.java
@@ -1,42 +1,42 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.GameManager;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.ScrollPane;
-import javafx.scene.text.*;
-import javafx.scene.text.Font;
-import javafx.scene.control.Button;
-import java.net.URL;
-import java.util.ResourceBundle;
+import io.github.mountainrange.mule.GameManager.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.application.Application.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.ScrollPane.
+import javafx.scene.text.*.
+import javafx.scene.text.Font.
+import javafx.scene.control.Button.
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public class AboutController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private TextFlow textFlow;
+   private TextFlow textFlow.

    @FXML
-   private ScrollPane scrollPane;
+   private ScrollPane scrollPane.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
-       Text h1 = new Text("About MULE\n\n");
-       h1.setFont(Font.font("Verdana", FontWeight.BOLD, 24));
-       textFlow.getChildren().add(h1);
+       backButton.setCancelButton(true).
+       Text h1 = new Text("About MULE\n\n").
+       h1.setFont(Font.font("Verdana", FontWeight.BOLD, 24)).
+       textFlow.getChildren().add(h1).
        Text p1 = new Text("Hi! Welcome to MULE! This game is a recreation of an old Atari game from 1983. Here is an excerpt from Wikipedia explaining the game:\n" +
                "\n" +
                "Set on the fictional planet Irata (which is Atari backwards), the game is an exercise in supply and demand economics involving competition among four players, with computer opponents automatically filling in for any missing players. Players are provided with several different choices for the race of their colonist, providing different advantages and disadvantages that can be paired to their respective strategies. To win, players not only compete against each other to amass the largest amount of wealth, but must also cooperate for the survival of the colony.\n" +
@@ -45,15 +45,15 @@ public class AboutController implements Initializable, SceneAgent {
                "\n" +
                "Each resource is required to do certain things on each turn. For instance, if a player is short on Food, there will be less time to take one's turn. Similarly, if a player is short on Energy, some land plots won't produce any output, while a shortage of Smithore will raise the price of M.U.L.E.s in the store and prevent the store from manufacturing new M.U.L.E.s to make use of one's land.\n" +
                "\n" +
-               "Players must also deal with periodic random events such as run-away M.U.L.E.s, sunspot activity, theft by space pirates and a meteorite,[6] with potentially destructive and beneficial effects. The game features a balancing system for random events that impact only a single player, such that favorable events never happen to the player currently in first place, while unfavorable events never happen to the player in last place.[7] This same \"leveling of the playfield\" is applied whenever a tie happens in the game (e.g. when two players want to buy a resource at the same price); the player in the losing position automatically wins the tie. The players also can hunt the mountain wampus for a cash reward.");
-       p1.setFont(Font.font("Verdana", 18));
-       textFlow.getChildren().add(p1);
-       textFlow.translateXProperty().bind(scrollPane.widthProperty().subtract(textFlow.widthProperty()).divide(2));
+               "Players must also deal with periodic random events such as run-away M.U.L.E.s, sunspot activity, theft by space pirates and a meteorite,[6] with potentially destructive and beneficial effects. The game features a balancing system for random events that impact only a single player, such that favorable events never happen to the player currently in first place, while unfavorable events never happen to the player in last place.[7] This same \"leveling of the playfield\" is applied whenever a tie happens in the game (e.g. when two players want to buy a resource at the same price). the player in the losing position automatically wins the tie. The players also can hunt the mountain wampus for a cash reward.").
+       p1.setFont(Font.font("Verdana", 18)).
+       textFlow.getChildren().add(p1).
+       textFlow.translateXProperty().bind(scrollPane.widthProperty().subtract(textFlow.widthProperty()).divide(2)).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule) {
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -61,7 +61,7 @@ public class AboutController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/AssayOfficeController.java b/src/main/java/io/github/mountainrange/mule/controllers/AssayOfficeController.java
index e2971cc3e90d3be23aae282d4a36ecf3ec521cf2..5d1758d31c4049cb6264c8c54384826f83eb2359 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/AssayOfficeController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/AssayOfficeController.java
@@ -1,33 +1,33 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import java.net.URL;
-import java.util.ResourceBundle;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/14/2015.
  */
 public class AssayOfficeController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Button leaveButton;
+   private Button leaveButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       leaveButton.setCancelButton(true);
+       leaveButton.setCancelButton(true).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -35,16 +35,16 @@ public class AssayOfficeController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }
 //
 // @FXML
 // private void handleOptionsAction(ActionEvent e) {
-//     sceneLoader.setScene(MULE.OPTIONS_SCENE);
+//     sceneLoader.setScene(MULE.OPTIONS_SCENE).
 // }
 //
 // @FXML
 // private void handleCreditsAction(ActionEvent e) {
-//     sceneLoader.setScene(MULE.CREDITS_SCENE);
+//     sceneLoader.setScene(MULE.CREDITS_SCENE).
 // }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/AuctionController.java b/src/main/java/io/github/mountainrange/mule/controllers/AuctionController.java
index 4c64be5eb83a5ef41a1f567bfb50c98047b940ef..8f35c16bc129a5bbb041a4da2ababef34665942f 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/AuctionController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/AuctionController.java
@@ -1,131 +1,131 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import io.github.mountainrange.mule.gameplay.Player;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import javafx.scene.control.Label;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import io.github.mountainrange.mule.gameplay.Player.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import javafx.scene.control.Label.
+
+import java.net.URL.
+import java.util.ArrayList.
+import java.util.List.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/13/2015.
  */
 public class AuctionController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
-   private List<Player> buyers;
-   private List<Integer> offers;
-   private List<Label> labels;
-   private List<Button> buttons;
-   private int highestPrice;
-   private Player currentLeader;
+   private SceneLoader sceneLoader.
+   private MULE mule.
+   private List<Player> buyers.
+   private List<Integer> offers.
+   private List<Label> labels.
+   private List<Button> buttons.
+   private int highestPrice.
+   private Player currentLeader.

    @FXML
-   private Label auctionLeader;
+   private Label auctionLeader.

    @FXML
-   private Label p1offer;
+   private Label p1offer.

    @FXML
-   private Label p2offer;
+   private Label p2offer.

    @FXML
-   private Label p3offer;
+   private Label p3offer.

    @FXML
-   private Label p4offer;
+   private Label p4offer.

    @FXML
-   private Button p1button;
+   private Button p1button.

    @FXML
-   private Button p2button;
+   private Button p2button.

    @FXML
-   private Button p3button;
+   private Button p3button.

    @FXML
-   private Button p4button;
+   private Button p4button.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
-       offers = new ArrayList<>();
-       labels = new ArrayList<>();
-       labels.add(p1offer);
-       labels.add(p2offer);
-       labels.add(p3offer);
-       labels.add(p4offer);
-       buttons = new ArrayList<>();
-       buttons.add(p1button);
-       buttons.add(p2button);
-       buttons.add(p3button);
-       buttons.add(p4button);
+       backButton.setCancelButton(true).
+       offers = new ArrayList<>().
+       labels = new ArrayList<>().
+       labels.add(p1offer).
+       labels.add(p2offer).
+       labels.add(p3offer).
+       labels.add(p4offer).
+       buttons = new ArrayList<>().
+       buttons.add(p1button).
+       buttons.add(p2button).
+       buttons.add(p3button).
+       buttons.add(p4button).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
-       buyers = Config.getInstance().buyers;
-       currentLeader = buyers.get(0);
-       highestPrice = 0;
-       offers.clear();
-       for (int i = 0; i < labels.size(); i++) {
-           offers.add(i, 0);
-           labels.get(i).setText("" + offers.get(i));
+       buyers = Config.getInstance().buyers.
+       currentLeader = buyers.get(0).
+       highestPrice = 0.
+       offers.clear().
+       for (int i = 0. i < labels.size(). i++) {
+           offers.add(i, 0).
+           labels.get(i).setText("" + offers.get(i)).
            if (i >= buyers.size()) {
-               labels.get(i).setDisable(true);
-               buttons.get(i).setDisable(true);
+               labels.get(i).setDisable(true).
+               buttons.get(i).setDisable(true).
            }
        }
    }

    @FXML
    private void handleP1OfferAction(ActionEvent e) {
-       increaseOffer(0);
+       increaseOffer(0).
    }

    @FXML
    private void handleP2OfferAction(ActionEvent e) {
-       increaseOffer(1);
+       increaseOffer(1).
    }

    @FXML
    private void handleP3OfferAction(ActionEvent e) {
-       increaseOffer(2);
+       increaseOffer(2).
    }

    @FXML
    private void handleP4OfferAction(ActionEvent e) {
-       increaseOffer(3);
+       increaseOffer(3).
    }

    private void increaseOffer(int i) {
        if (buyers.size() > i) {
-           Player buyer = buyers.get(i);
-           int offer = offers.get(i);
+           Player buyer = buyers.get(i).
+           int offer = offers.get(i).
            if (buyer.getMoney() >= offer + 5) {
-               offers.set(i, offer + 5);
-               labels.get(i).setText("" + offer);
+               offers.set(i, offer + 5).
+               labels.get(i).setText("" + offer).
                if (offer > highestPrice) {
-                   highestPrice = offer;
-                   currentLeader = buyer;
-                   auctionLeader.setText(buyer.getName() + " - " + offer);
+                   highestPrice = offer.
+                   currentLeader = buyer.
+                   auctionLeader.setText(buyer.getName() + " - " + offer).
                }
            }
        }
@@ -133,6 +133,6 @@ public class AuctionController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/CreditsController.java b/src/main/java/io/github/mountainrange/mule/controllers/CreditsController.java
index 35de9261b3cf19e44829f334a0798f582b9dee81..a1ed93fd01c5ec9b648eaad0cc45a8f0bfc1b843 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/CreditsController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/CreditsController.java
@@ -1,33 +1,33 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import java.net.URL;
-import java.util.ResourceBundle;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public class CreditsController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
+       backButton.setCancelButton(true).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -35,7 +35,7 @@ public class CreditsController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/GameConfigController.java b/src/main/java/io/github/mountainrange/mule/controllers/GameConfigController.java
index 4cf98e63878c94be7110dda1402221a5249531a6..b584e07b62dcf4e235ec34f776f81f814abb35ca 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/GameConfigController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/GameConfigController.java
@@ -1,108 +1,108 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import io.github.mountainrange.mule.enums.Difficulty;
-import io.github.mountainrange.mule.enums.GameType;
-import io.github.mountainrange.mule.enums.MapSize;
-import io.github.mountainrange.mule.enums.MapType;
-
-import javafx.collections.FXCollections;
-import javafx.event.ActionEvent;
-import javafx.event.Event;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import javafx.scene.control.ComboBox;
-import javafx.scene.control.Slider;
-import javafx.util.StringConverter;
-
-import java.net.URL;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import io.github.mountainrange.mule.enums.Difficulty.
+import io.github.mountainrange.mule.enums.GameType.
+import io.github.mountainrange.mule.enums.MapSize.
+import io.github.mountainrange.mule.enums.MapType.
+
+import javafx.collections.FXCollections.
+import javafx.event.ActionEvent.
+import javafx.event.Event.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import javafx.scene.control.ComboBox.
+import javafx.scene.control.Slider.
+import javafx.util.StringConverter.
+
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * A controller to manage Game config
  */
 public class GameConfigController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Slider diffSlider;
+   private Slider diffSlider.

    @FXML
-   private Slider mapSlider;
+   private Slider mapSlider.

    @FXML
-   private ComboBox<String> gameTypeCombo;
+   private ComboBox<String> gameTypeCombo.

    @FXML
-   private ComboBox<String> mapTypeCombo;
+   private ComboBox<String> mapTypeCombo.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
+       backButton.setCancelButton(true).
        diffSlider.setLabelFormatter(new StringConverter<Double>() {
            @Override
            public String toString(Double n) {
-               if (n == 0) return "Hill";
-               if (n == 1) return "Mesa";
-               if (n == 2) return "Plateau";
+               if (n == 0) return "Hill".
+               if (n == 1) return "Mesa".
+               if (n == 2) return "Plateau".

-               return "Mountain";
+               return "Mountain".
            }

            @Override
            public Double fromString(String s) {
                if (s.equals("Hill")) {
-                   return 0.0;
+                   return 0.0.
                } else if (s.equals("Mesa")) {
-                   return 1.0;
+                   return 1.0.
                } else if (s.equals("Plateau")) {
-                   return 2.0;
+                   return 2.0.
                }
-               return 3.0;
+               return 3.0.
            }
-       });
+       }).
        mapSlider.setLabelFormatter(new StringConverter<Double>() {
            @Override
            public String toString(Double n) {
-               if (n == 0) return "Pyrenees";
-               if (n == 1) return "Alps";
+               if (n == 0) return "Pyrenees".
+               if (n == 1) return "Alps".

-               return "Himalayas";
+               return "Himalayas".
            }

            @Override
            public Double fromString(String s) {
                if (s.equals("Pyrenees")) {
-                   return 0.0;
+                   return 0.0.
                } else if (s.equals("Alps")) {
-                   return 1.0;
+                   return 1.0.
                }
-               return 2.0;
+               return 2.0.
            }
-       });
-       assert gameTypeCombo != null : "fx:id=\"gameTypeCombo\" was not injected: check your FXML file 'foo.fxml'.";
-       gameTypeCombo.setItems(FXCollections.observableArrayList());
-       gameTypeCombo.getItems().add("HOTSEAT");
-       gameTypeCombo.getItems().add("SIMULTANEOUS");
-       gameTypeCombo.getItems().add("ONLINE");
-       assert mapTypeCombo != null : "fx:id=\"mapTypeCombo\" was not injected: check your FXML file 'foo.fxml'.";
-       mapTypeCombo.setItems(FXCollections.observableArrayList());
-       mapTypeCombo.getItems().add("CLASSIC");
-       mapTypeCombo.getItems().add("RANDOM");
-       mapTypeCombo.getItems().add("EXPERIMENTAL");
+       }).
+       assert gameTypeCombo != null : "fx:id=\"gameTypeCombo\" was not injected: check your FXML file 'foo.fxml'.".
+       gameTypeCombo.setItems(FXCollections.observableArrayList()).
+       gameTypeCombo.getItems().add("HOTSEAT").
+       gameTypeCombo.getItems().add("SIMULTANEOUS").
+       gameTypeCombo.getItems().add("ONLINE").
+       assert mapTypeCombo != null : "fx:id=\"mapTypeCombo\" was not injected: check your FXML file 'foo.fxml'.".
+       mapTypeCombo.setItems(FXCollections.observableArrayList()).
+       mapTypeCombo.getItems().add("CLASSIC").
+       mapTypeCombo.getItems().add("RANDOM").
+       mapTypeCombo.getItems().add("EXPERIMENTAL").
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -110,40 +110,40 @@ public class GameConfigController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    @FXML
    private void handleEnterAction(Event e) {
-       diffSlider.setValue(Config.getInstance().difficulty.ordinal());
-       mapSlider.setValue(Config.getInstance().mapSize.ordinal());
-       mapTypeCombo.getSelectionModel().select(Config.getInstance().mapType.ordinal());
-       gameTypeCombo.getSelectionModel().select(Config.getInstance().gameType.ordinal());
+       diffSlider.setValue(Config.getInstance().difficulty.ordinal()).
+       mapSlider.setValue(Config.getInstance().mapSize.ordinal()).
+       mapTypeCombo.getSelectionModel().select(Config.getInstance().mapType.ordinal()).
+       gameTypeCombo.getSelectionModel().select(Config.getInstance().gameType.ordinal()).
    }

    @FXML
    private void handleDiffAction(Event e) {
-       Config.getInstance().difficulty = Difficulty.values()[(int)diffSlider.getValue()];
+       Config.getInstance().difficulty = Difficulty.values()[(int)diffSlider.getValue()].
    }

    @FXML
    private void handleGameTypeAction(Event e) {
-       Config.getInstance().gameType = GameType.values()[gameTypeCombo.getSelectionModel().getSelectedIndex()];
+       Config.getInstance().gameType = GameType.values()[gameTypeCombo.getSelectionModel().getSelectedIndex()].
    }

    @FXML
    private void handleMapSizeAction(Event e) {
-       Config.getInstance().mapSize = MapSize.values()[(int)mapSlider.getValue()];
+       Config.getInstance().mapSize = MapSize.values()[(int)mapSlider.getValue()].
    }

    @FXML
    private void handleMapTypeAction(ActionEvent e) {
-       Config.getInstance().mapType = MapType.values()[mapTypeCombo.getSelectionModel().getSelectedIndex()];
+       Config.getInstance().mapType = MapType.values()[mapTypeCombo.getSelectionModel().getSelectedIndex()].
    }

    @FXML
    private void handleContinueAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.PLAYER_CONFIG_SCENE);
+       sceneLoader.setScene(MULE.PLAYER_CONFIG_SCENE).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/LandOfficeController.java b/src/main/java/io/github/mountainrange/mule/controllers/LandOfficeController.java
index 72744e8e967250056b7fe77e9cb09847f3b805f5..df24ebd372a4a41b09a4da6a118157ec8e462147 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/LandOfficeController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/LandOfficeController.java
@@ -1,39 +1,39 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.

-import java.net.URL;
-import java.util.ResourceBundle;
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/14/2015.
  */
 public class LandOfficeController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Button leaveButton;
+   private Button leaveButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       leaveButton.setCancelButton(true);
+       leaveButton.setCancelButton(true).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    public void onSetScene() {
@@ -41,11 +41,11 @@ public class LandOfficeController implements Initializable, SceneAgent {
 //
 // @FXML
 // private void handleOptionsAction(ActionEvent e) {
-//     sceneLoader.setScene(MULE.OPTIONS_SCENE);
+//     sceneLoader.setScene(MULE.OPTIONS_SCENE).
 // }
 //
 // @FXML
 // private void handleCreditsAction(ActionEvent e) {
-//     sceneLoader.setScene(MULE.CREDITS_SCENE);
+//     sceneLoader.setScene(MULE.CREDITS_SCENE).
 // }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/MainController.java b/src/main/java/io/github/mountainrange/mule/controllers/MainController.java
index acc517dc33b96d2a4d99233628ddef810a6f6c46..d992e9fc21bc412361446eadac37409fedadb691 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/MainController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/MainController.java
@@ -1,22 +1,22 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.application.Application.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.

-import java.net.URL;
-import java.util.ResourceBundle;
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public class MainController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
@@ -24,8 +24,8 @@ public class MainController implements Initializable, SceneAgent {
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -33,16 +33,16 @@ public class MainController implements Initializable, SceneAgent {

    @FXML
    private void handlePlayAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.GAME_CONFIG_SCENE);
+       sceneLoader.setScene(MULE.GAME_CONFIG_SCENE).
    }

    @FXML
    private void handleOptionsAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.OPTIONS_SCENE);
+       sceneLoader.setScene(MULE.OPTIONS_SCENE).
    }

    @FXML
    private void handleCreditsAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.CREDITS_SCENE);
+       sceneLoader.setScene(MULE.CREDITS_SCENE).
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/MenuBarController.java b/src/main/java/io/github/mountainrange/mule/controllers/MenuBarController.java
index bbf89a0ab3dc6cc9b19d3ed691fabe0e58fc5902..7cc9006ac349fbb8a49a94bf290a13b03eaa3369 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/MenuBarController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/MenuBarController.java
@@ -1,28 +1,28 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.Event;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.RadioMenuItem;
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.application.Application.
+import javafx.event.ActionEvent.
+import javafx.event.Event.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.RadioMenuItem.

-import java.net.URL;
-import java.util.ResourceBundle;
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public class MenuBarController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private RadioMenuItem fadeRadio;
+   private RadioMenuItem fadeRadio.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
@@ -30,8 +30,8 @@ public class MenuBarController implements Initializable, SceneAgent {
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -39,27 +39,27 @@ public class MenuBarController implements Initializable, SceneAgent {

    @FXML
    private void handleFadeAction(ActionEvent e) {
-       Config.getInstance().fadeEnabled = fadeRadio.isSelected();
+       Config.getInstance().fadeEnabled = fadeRadio.isSelected().
    }

    @FXML
    private void handleOptionsAction(Event e) {
-       fadeRadio.selectedProperty().setValue(Config.getInstance().fadeEnabled);
+       fadeRadio.selectedProperty().setValue(Config.getInstance().fadeEnabled).
    }

    @FXML
    private void handleCloseAction(ActionEvent e) {
-       mule.close();
+       mule.close().
    }

    @FXML
    private void handleFullscreenAction(ActionEvent e) {
-       mule.setFullscreen(true);
+       mule.setFullscreen(true).
    }

    @FXML
    private void handleAboutAction(ActionEvent e) {
-       mule.setCenterScene(MULE.ABOUT_SCENE);
+       mule.setCenterScene(MULE.ABOUT_SCENE).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/OptionsController.java b/src/main/java/io/github/mountainrange/mule/controllers/OptionsController.java
index 916a74b7464a78f5bffb8739d769e330694bfc07..567b6b218280ea74b282ae2f3efce9411d33b31d 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/OptionsController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/OptionsController.java
@@ -1,45 +1,45 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.collections.FXCollections;
-import javafx.event.ActionEvent;
-import javafx.event.Event;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import javafx.scene.control.ComboBox;
-
-import java.net.URL;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.collections.FXCollections.
+import javafx.event.ActionEvent.
+import javafx.event.Event.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import javafx.scene.control.ComboBox.
+
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public class OptionsController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private ComboBox<String> fadeCombo;
+   private ComboBox<String> fadeCombo.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
-       assert fadeCombo != null : "fx:id=\"myChoices\" was not injected: check your FXML file 'foo.fxml'.";
-       fadeCombo.setItems(FXCollections.observableArrayList());
-       fadeCombo.getItems().add("TRUE");
-       fadeCombo.getItems().add("FALSE");
+       backButton.setCancelButton(true).
+       assert fadeCombo != null : "fx:id=\"myChoices\" was not injected: check your FXML file 'foo.fxml'.".
+       fadeCombo.setItems(FXCollections.observableArrayList()).
+       fadeCombo.getItems().add("TRUE").
+       fadeCombo.getItems().add("FALSE").
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -47,17 +47,17 @@ public class OptionsController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    @FXML
    private void handleEnterAction(Event e) {
-       fadeCombo.getSelectionModel().select(String.valueOf(Config.getInstance().fadeEnabled).toUpperCase());
+       fadeCombo.getSelectionModel().select(String.valueOf(Config.getInstance().fadeEnabled).toUpperCase()).
    }

    @FXML
    private void handleFadeAction(ActionEvent e) {
-       Config.getInstance().fadeEnabled = Boolean.parseBoolean(fadeCombo.getSelectionModel().getSelectedItem().toLowerCase());
+       Config.getInstance().fadeEnabled = Boolean.parseBoolean(fadeCombo.getSelectionModel().getSelectedItem().toLowerCase()).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/PlayController.java b/src/main/java/io/github/mountainrange/mule/controllers/PlayController.java
index 156df8484bc072e538bad5e9466f82069542478b..f8df9fb0c2f67b3947e27d1925c45a8d029dedfd 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/PlayController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/PlayController.java
@@ -1,64 +1,64 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.GameManager;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import io.github.mountainrange.mule.gameplay.WorldMap;
-import io.github.mountainrange.mule.enums.MapSize;
-import io.github.mountainrange.mule.enums.MapType;
-import io.github.mountainrange.mule.gameplay.javafx.VisualGrid;
-import io.github.mountainrange.mule.gameplay.javafx.VisualTile;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Label;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.Pane;
-
-import java.net.URL;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.GameManager.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import io.github.mountainrange.mule.gameplay.WorldMap.
+import io.github.mountainrange.mule.enums.MapSize.
+import io.github.mountainrange.mule.enums.MapType.
+import io.github.mountainrange.mule.gameplay.javafx.VisualGrid.
+import io.github.mountainrange.mule.gameplay.javafx.VisualTile.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Label.
+import javafx.scene.input.KeyEvent.
+import javafx.scene.input.MouseEvent.
+import javafx.scene.layout.Pane.
+
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * A class to manage the main Playing Map Screen
  */
 public class PlayController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
-   private VisualGrid<VisualTile> g;
-   private WorldMap map;
-   private GameManager manager;
+   private SceneLoader sceneLoader.
+   private MULE mule.
+   private VisualGrid<VisualTile> g.
+   private WorldMap map.
+   private GameManager manager.

    @FXML
-   private Pane mapPane;
+   private Pane mapPane.

    @FXML
-   private Label turnLabel;
+   private Label turnLabel.

    @FXML
-   private Label resourceLabel;
+   private Label resourceLabel.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
        if (g == null || map == null) {
-           g = new VisualGrid<>(9, 5, Config.getInstance().mapType, MapSize.ALPS, mapPane);
-           map = new WorldMap(g, Config.getInstance().mapType);
+           g = new VisualGrid<>(9, 5, Config.getInstance().mapType, MapSize.ALPS, mapPane).
+           map = new WorldMap(g, Config.getInstance().mapType).
        }
        if (manager == null) {
-           manager = new GameManager(map, turnLabel, resourceLabel, sceneLoader);
+           manager = new GameManager(map, turnLabel, resourceLabel, sceneLoader).
        }
-       manager.setInAuction(false);
-       mule.setGameManager(manager);
+       manager.setInAuction(false).
+       mule.setGameManager(manager).
    }

    @FXML
@@ -67,17 +67,17 @@ public class PlayController implements Initializable, SceneAgent {

    @FXML
    private void handleMousePressed(MouseEvent e) {
-       manager.handleMouse(e);
+       manager.handleMouse(e).
    }

    @FXML
    private void handleMouseReleased(MouseEvent e) {
-       manager.handleMouse(e);
+       manager.handleMouse(e).
    }

    @FXML
    private void handleKeyPress(KeyEvent e) {
-       manager.handleKey(e);
+       manager.handleKey(e).
    }

    @FXML
@@ -87,12 +87,12 @@ public class PlayController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    @FXML
    private void handlePassAction(ActionEvent e) {
-       manager.incrementTurn();
+       manager.incrementTurn().
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/PlayerConfigController.java b/src/main/java/io/github/mountainrange/mule/controllers/PlayerConfigController.java
index 4a8ff7b8177b2a606d8019b0ebbcebf549a4d9b3..d744ee6c97b2523753dca1aee6d320c374f1dbfd 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/PlayerConfigController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/PlayerConfigController.java
@@ -1,78 +1,78 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.enums.Difficulty;
-import io.github.mountainrange.mule.enums.ResourceType;
-import io.github.mountainrange.mule.gameplay.Player;
-import io.github.mountainrange.mule.SceneLoader;
-import io.github.mountainrange.mule.enums.Race;
-
-import javafx.collections.FXCollections;
-import javafx.event.ActionEvent;
-import javafx.event.Event;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import javafx.scene.control.ColorPicker;
-import javafx.scene.control.ComboBox;
-import javafx.scene.control.Slider;
-import javafx.scene.control.TextField;
-import javafx.scene.control.Label;
-import javafx.scene.paint.Color;
-
-import java.net.URL;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.enums.Difficulty.
+import io.github.mountainrange.mule.enums.ResourceType.
+import io.github.mountainrange.mule.gameplay.Player.
+import io.github.mountainrange.mule.SceneLoader.
+import io.github.mountainrange.mule.enums.Race.
+
+import javafx.collections.FXCollections.
+import javafx.event.ActionEvent.
+import javafx.event.Event.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import javafx.scene.control.ColorPicker.
+import javafx.scene.control.ComboBox.
+import javafx.scene.control.Slider.
+import javafx.scene.control.TextField.
+import javafx.scene.control.Label.
+import javafx.scene.paint.Color.
+
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Controller for the player configuration section of the game configuration.
  */
 public class PlayerConfigController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
-   private boolean invalidColor;
-   private boolean emptyName;
+   private SceneLoader sceneLoader.
+   private MULE mule.
+   private boolean invalidColor.
+   private boolean emptyName.

    @FXML
-   private Slider playerSlider;
+   private Slider playerSlider.

    @FXML
-   private Slider numSlider;
+   private Slider numSlider.

    @FXML
-   private ComboBox<String> raceCombo;
+   private ComboBox<String> raceCombo.

    @FXML
-   private Label colorLabel;
+   private Label colorLabel.

    @FXML
-   private ColorPicker colorPicker;
+   private ColorPicker colorPicker.

    @FXML
-   private Label nameLabel;
+   private Label nameLabel.
    @FXML
-   private TextField nameField;
+   private TextField nameField.

    @FXML
-   private Button startButton;
+   private Button startButton.

    @FXML
-   private Button backButton;
+   private Button backButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       backButton.setCancelButton(true);
-       Config.getInstance().playerList = new Player[Config.getInstance().maxPlayers];
-       adjustPlayerCount();
-       assert raceCombo != null : "fx:id=\"myChoices\" was not injected: check your FXML file 'foo.fxml'.";
-       raceCombo.setItems(FXCollections.observableArrayList());
-       raceCombo.getItems().add("FOLD");
-       raceCombo.getItems().add("FAULT-BLOCK");
-       raceCombo.getItems().add("DOME");
-       raceCombo.getItems().add("VOLCANIC");
-       raceCombo.getItems().add("PLATEAU");
-       updateValues();
+       backButton.setCancelButton(true).
+       Config.getInstance().playerList = new Player[Config.getInstance().maxPlayers].
+       adjustPlayerCount().
+       assert raceCombo != null : "fx:id=\"myChoices\" was not injected: check your FXML file 'foo.fxml'.".
+       raceCombo.setItems(FXCollections.observableArrayList()).
+       raceCombo.getItems().add("FOLD").
+       raceCombo.getItems().add("FAULT-BLOCK").
+       raceCombo.getItems().add("DOME").
+       raceCombo.getItems().add("VOLCANIC").
+       raceCombo.getItems().add("PLATEAU").
+       updateValues().
    }

    public void onSetScene() {
@@ -80,123 +80,123 @@ public class PlayerConfigController implements Initializable, SceneAgent {
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    @FXML
    private void handleEnterAction(Event e) {
-       numSlider.setValue(Config.getInstance().numOfPlayers);
-       adjustPlayerCount();
+       numSlider.setValue(Config.getInstance().numOfPlayers).
+       adjustPlayerCount().
    }

    @FXML
    private void handleNameAction(Event e) {
-       emptyName = false;
+       emptyName = false.
        for (Player player : Config.getInstance().playerList) {
            if (player.getName().equals("") && player.getId() < numSlider.getValue()) {
-               emptyName = true;
+               emptyName = true.
            }
        }
        if (emptyName) {
-           nameLabel.setTextFill(Color.RED); // disallow empty name
-           startButton.setDisable(true);
+           nameLabel.setTextFill(Color.RED). // disallow empty name
+           startButton.setDisable(true).
        } else {
-           nameLabel.setTextFill(Color.BLACK);
-           startButton.setDisable(false);
+           nameLabel.setTextFill(Color.BLACK).
+           startButton.setDisable(false).
        }
-       Config.getInstance().playerList[Config.getInstance().currentPlayer].setName(nameField.getText());
+       Config.getInstance().playerList[Config.getInstance().currentPlayer].setName(nameField.getText()).
    }

    @FXML
    private void handleNumAction(Event e) {
-       Config.getInstance().numOfPlayers = (int)numSlider.getValue();
-       adjustPlayerCount();
+       Config.getInstance().numOfPlayers = (int)numSlider.getValue().
+       adjustPlayerCount().
    }

    @FXML
    private void handlePlayerAction(Event e) {
-       changePlayer(((int) playerSlider.getValue()) - 1);
+       changePlayer(((int) playerSlider.getValue()) - 1).
    }

    @FXML
    private void handleRaceAction(ActionEvent e) {
        Config.getInstance().playerList[Config.getInstance().currentPlayer].setRace(Race.values()[raceCombo
-               .getSelectionModel().getSelectedIndex()]);
+               .getSelectionModel().getSelectedIndex()]).
    }

    @FXML
    private void handleStartAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.PLAY_SCENE);
+       sceneLoader.setScene(MULE.PLAY_SCENE).
    }

    @FXML
    private void handleColorAction(ActionEvent e) {
-       invalidColor = false;
+       invalidColor = false.
        for (Player player : Config.getInstance().playerList) {
            if (colorPicker.getValue().equals(player.getColor())) {
-               invalidColor = true;
+               invalidColor = true.
            }
        }
        if (invalidColor) {
-           colorLabel.setTextFill(Color.RED); // disallow same colors
+           colorLabel.setTextFill(Color.RED). // disallow same colors
        } else {
-           colorLabel.setTextFill(Color.BLACK);
+           colorLabel.setTextFill(Color.BLACK).
        }
-       Config.getInstance().playerList[Config.getInstance().currentPlayer].setColor(colorPicker.getValue());
+       Config.getInstance().playerList[Config.getInstance().currentPlayer].setColor(colorPicker.getValue()).
    }

    private void updateValues() {
-       raceCombo.getSelectionModel().select(Config.getInstance().playerList[Config.getInstance().currentPlayer].getRace().ordinal());
-       colorPicker.setValue(Config.getInstance().playerList[Config.getInstance().currentPlayer].getColor());
-       nameField.setText(Config.getInstance().playerList[Config.getInstance().currentPlayer].getName());
-       playerSlider.setValue(Config.getInstance().currentPlayer + 1);
+       raceCombo.getSelectionModel().select(Config.getInstance().playerList[Config.getInstance().currentPlayer].getRace().ordinal()).
+       colorPicker.setValue(Config.getInstance().playerList[Config.getInstance().currentPlayer].getColor()).
+       nameField.setText(Config.getInstance().playerList[Config.getInstance().currentPlayer].getName()).
+       playerSlider.setValue(Config.getInstance().currentPlayer + 1).
    }

    private void adjustPlayerCount() {
-       int difficulty = 0;
+       int difficulty = 0.
        if (Config.getInstance().difficulty == Difficulty.HILL) {
-           difficulty = 0;
+           difficulty = 0.
        } else if (Config.getInstance().difficulty == Difficulty.MESA) {
-           difficulty = 1;
+           difficulty = 1.
        } else if (Config.getInstance().difficulty == Difficulty.PLATEAU) {
-           difficulty = 2;
+           difficulty = 2.
        } else if (Config.getInstance().difficulty == Difficulty.MOUNTAIN) {
-           difficulty = 3;
+           difficulty = 3.
        }
-       int foodCount;
+       int foodCount.
        if (difficulty == 0) {
-           foodCount = 8;
+           foodCount = 8.
        } else {
-           foodCount = 4;
+           foodCount = 4.
        }
-       int energyCount;
+       int energyCount.
        if (difficulty == 0) {
-           energyCount = 4;
+           energyCount = 4.
        } else {
-           energyCount = 2;
+           energyCount = 2.
        }
-       for (int i = 0; i < Config.getInstance().maxPlayers; i++) {
+       for (int i = 0. i < Config.getInstance().maxPlayers. i++) {
            if (Config.getInstance().playerList[i] == null) {
-               Config.getInstance().playerList[i] = new Player(i);
-               Config.getInstance().playerList[i].changeStockOf(ResourceType.ENERGY, energyCount);
-               Config.getInstance().playerList[i].changeStockOf(ResourceType.FOOD, foodCount);
+               Config.getInstance().playerList[i] = new Player(i).
+               Config.getInstance().playerList[i].changeStockOf(ResourceType.ENERGY, energyCount).
+               Config.getInstance().playerList[i].changeStockOf(ResourceType.FOOD, foodCount).
            }
        }
-       playerSlider.setMax(Config.getInstance().numOfPlayers);
+       playerSlider.setMax(Config.getInstance().numOfPlayers).
        if(Config.getInstance().currentPlayer >= Config.getInstance().numOfPlayers) {
-           changePlayer(0);
+           changePlayer(0).
        }
    }

    private void changePlayer(int id) {
-       Config.getInstance().currentPlayer = id;
-       updateValues();
+       Config.getInstance().currentPlayer = id.
+       updateValues().
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/PubController.java b/src/main/java/io/github/mountainrange/mule/controllers/PubController.java
index b648724da931a7f3214e89311d618f58f02688fe..e896ba6c6bc4a146a0373d9eaff6f6bd2e179fa2 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/PubController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/PubController.java
@@ -1,34 +1,34 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.

-import java.net.URL;
-import java.util.ResourceBundle;
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/14/2015.
  */
 public class PubController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Button leaveButton;
+   private Button leaveButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       leaveButton.setCancelButton(true);
+       leaveButton.setCancelButton(true).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -36,11 +36,11 @@ public class PubController implements Initializable, SceneAgent {

    @FXML
    private void handleBackAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }

    @FXML
    private void handleGambleAction(ActionEvent e) {
-       mule.getGameManager().setGambleFlag();
+       mule.getGameManager().setGambleFlag().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/SceneAgent.java b/src/main/java/io/github/mountainrange/mule/controllers/SceneAgent.java
index c2a28d0a7d40e34158ce2095cdeaed4bbe1d984d..4be5b5fcd42872c969e8df55330a2d485764a7a7 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/SceneAgent.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/SceneAgent.java
@@ -1,16 +1,16 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.application.Application;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.application.Application.

 /**
  * Created by Matthew Keezer on 9/9/2015.
  */
 public interface SceneAgent {

-   public void setSceneParent(SceneLoader scenes, MULE mule);
+   public void setSceneParent(SceneLoader scenes, MULE mule).

-   public void onSetScene();
+   public void onSetScene().

 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/StoreController.java b/src/main/java/io/github/mountainrange/mule/controllers/StoreController.java
index 371b71e36306bd2e4832d98e5fc9cef27d84c394..c89cb2ac5c2c6efa83faba61023dad0221b05a7e 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/StoreController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/StoreController.java
@@ -1,50 +1,50 @@
-package io.github.mountainrange.mule.controllers;
-
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.gameplay.Player;
-import io.github.mountainrange.mule.gameplay.Shop;
-import io.github.mountainrange.mule.enums.ResourceType;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
-import javafx.scene.control.ComboBox;
-import javafx.collections.FXCollections;
-
-import java.net.URL;
-import java.util.ResourceBundle;
+package io.github.mountainrange.mule.controllers.
+
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.gameplay.Player.
+import io.github.mountainrange.mule.gameplay.Shop.
+import io.github.mountainrange.mule.enums.ResourceType.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.
+import javafx.scene.control.ComboBox.
+import javafx.collections.FXCollections.
+
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/12/2015.
  */
 public class StoreController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
-   private boolean buyMode;
-   private Shop shop;
-   private Player player;
+   private SceneLoader sceneLoader.
+   private MULE mule.
+   private boolean buyMode.
+   private Shop shop.
+   private Player player.

    @FXML
-   private ComboBox buySellCombo;
+   private ComboBox buySellCombo.

    @FXML
-   private Button leaveButton;
+   private Button leaveButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       leaveButton.setCancelButton(true);
-       buySellCombo.setItems(FXCollections.observableArrayList());
-       buySellCombo.getItems().add("Buy");
-       buySellCombo.getItems().add("Sell");
-       buyMode = true;
+       leaveButton.setCancelButton(true).
+       buySellCombo.setItems(FXCollections.observableArrayList()).
+       buySellCombo.getItems().add("Buy").
+       buySellCombo.getItems().add("Sell").
+       buyMode = true.
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -53,73 +53,73 @@ public class StoreController implements Initializable, SceneAgent {
    @FXML
    private void handleBuySellToggle(ActionEvent e) {
        if (buySellCombo.getValue().equals("Buy")) {
-           buyMode = true;
+           buyMode = true.
        } else if (buySellCombo.getValue().equals("Sell")) {
-           buyMode = false;
+           buyMode = false.
        }
    }

    @FXML
    private void handleExchangeFoodAction(ActionEvent e) {
-       shop = mule.getGameManager().getShop();
-       player = mule.getGameManager().getCurrentPlayer();
+       shop = mule.getGameManager().getShop().
+       player = mule.getGameManager().getCurrentPlayer().
        if (buyMode) {
-           shop.buy(player, ResourceType.FOOD);
+           shop.buy(player, ResourceType.FOOD).
        } else {
-           shop.sell(player, ResourceType.FOOD);
+           shop.sell(player, ResourceType.FOOD).
        }
-       mule.getGameManager().setLabels();
+       mule.getGameManager().setLabels().
    }

    @FXML
    private void handleExchangeEnergyAction(ActionEvent e) {
-       shop = mule.getGameManager().getShop();
-       player = mule.getGameManager().getCurrentPlayer();
+       shop = mule.getGameManager().getShop().
+       player = mule.getGameManager().getCurrentPlayer().
        if (buyMode) {
-           shop.buy(player, ResourceType.ENERGY);
+           shop.buy(player, ResourceType.ENERGY).
        } else {
-           shop.sell(player, ResourceType.ENERGY);
+           shop.sell(player, ResourceType.ENERGY).
        }
-       mule.getGameManager().setLabels();
+       mule.getGameManager().setLabels().
    }

    @FXML
    private void handleExchangeSmithoreAction(ActionEvent e) {
-       shop = mule.getGameManager().getShop();
-       player = mule.getGameManager().getCurrentPlayer();
+       shop = mule.getGameManager().getShop().
+       player = mule.getGameManager().getCurrentPlayer().
        if (buyMode) {
-           shop.buy(player, ResourceType.SMITHORE);
+           shop.buy(player, ResourceType.SMITHORE).
        } else {
-           shop.sell(player, ResourceType.SMITHORE);
+           shop.sell(player, ResourceType.SMITHORE).
        }
-       mule.getGameManager().setLabels();
+       mule.getGameManager().setLabels().
    }

    @FXML
    private void handleExchangeCrystiteAction(ActionEvent e) {
-       shop = mule.getGameManager().getShop();
-       player = mule.getGameManager().getCurrentPlayer();
+       shop = mule.getGameManager().getShop().
+       player = mule.getGameManager().getCurrentPlayer().
        if (buyMode) {
-           shop.buy(player, ResourceType.CRYSTITE);
+           shop.buy(player, ResourceType.CRYSTITE).
        } else {
-           shop.sell(player, ResourceType.CRYSTITE);
+           shop.sell(player, ResourceType.CRYSTITE).
        }
-       mule.getGameManager().setLabels();
+       mule.getGameManager().setLabels().
    }

    @FXML
    private void handleExchangeFoodMuleAction(ActionEvent e) {
-       muleAction(MuleType.FOOD_MULE);
+       muleAction(MuleType.FOOD_MULE).
    }

    @FXML
    private void handleExchangeEnergyMuleAction(ActionEvent e) {
-       muleAction(MuleType.ENERGY_MULE);
+       muleAction(MuleType.ENERGY_MULE).
    }

    @FXML
    private void handleExchangeSmithoreMuleAction(ActionEvent e) {
-       muleAction(MuleType.SMITHORE_MULE);
+       muleAction(MuleType.SMITHORE_MULE).
    }

    /**
@@ -127,17 +127,17 @@ public class StoreController implements Initializable, SceneAgent {
     * @param muleType MuleType to sell
     */
    private void muleAction(MuleType muleType) {
-       shop = mule.getGameManager().getShop();
-       player = mule.getGameManager().getCurrentPlayer();
+       shop = mule.getGameManager().getShop().
+       player = mule.getGameManager().getCurrentPlayer().

        // Shop can only sell MULEs to the player, not buy them back
-       shop.sellMule(player, muleType);
-       mule.getGameManager().setLabels();
+       shop.sellMule(player, muleType).
+       mule.getGameManager().setLabels().
    }

    @FXML
    private void handleLeaveAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/controllers/TownController.java b/src/main/java/io/github/mountainrange/mule/controllers/TownController.java
index 03395c86fc61a66e1c55d0102b446a3105755703..a26872d25ac094f2c81c249876755153cf053933 100644
--- a/src/main/java/io/github/mountainrange/mule/controllers/TownController.java
+++ b/src/main/java/io/github/mountainrange/mule/controllers/TownController.java
@@ -1,34 +1,34 @@
-package io.github.mountainrange.mule.controllers;
+package io.github.mountainrange.mule.controllers.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.SceneLoader;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Button;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.SceneLoader.
+import javafx.event.ActionEvent.
+import javafx.fxml.FXML.
+import javafx.fxml.Initializable.
+import javafx.scene.control.Button.

-import java.net.URL;
-import java.util.ResourceBundle;
+import java.net.URL.
+import java.util.ResourceBundle.

 /**
  * Created by Josh Ting on 9/13/2015.
  */
 public class TownController implements Initializable, SceneAgent {

-   private SceneLoader sceneLoader;
-   private MULE mule;
+   private SceneLoader sceneLoader.
+   private MULE mule.

    @FXML
-   private Button leaveButton;
+   private Button leaveButton.

    @Override
    public void initialize(URL url, ResourceBundle rb) {
-       leaveButton.setCancelButton(true);
+       leaveButton.setCancelButton(true).
    }

    public void setSceneParent(SceneLoader sceneLoader, MULE mule){
-       this.sceneLoader = sceneLoader;
-       this.mule = mule;
+       this.sceneLoader = sceneLoader.
+       this.mule = mule.
    }

    public void onSetScene() {
@@ -36,26 +36,26 @@ public class TownController implements Initializable, SceneAgent {

    @FXML
    private void handleStoreAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.STORE_SCENE);
+       sceneLoader.setScene(MULE.STORE_SCENE).
    }

    @FXML
    private void handlePubAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.PUB_SCENE);
+       sceneLoader.setScene(MULE.PUB_SCENE).
    }

    @FXML
    private void handleLandOfficeAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.LAND_OFFICE_SCENE);
+       sceneLoader.setScene(MULE.LAND_OFFICE_SCENE).
    }

    @FXML
    private void handleAssayOfficeAction(ActionEvent e) {
-       sceneLoader.setScene(MULE.ASSAY_OFFICE_SCENE);
+       sceneLoader.setScene(MULE.ASSAY_OFFICE_SCENE).
    }

    @FXML
    private void handleLeaveAction(ActionEvent e) {
-       sceneLoader.goBack();
+       sceneLoader.goBack().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/enums/Difficulty.java b/src/main/java/io/github/mountainrange/mule/enums/Difficulty.java
index 6daaf244f7e50fef304640645ab4761575e72be7..e9d8dd15aca2ffd9fcd282a49e5c161d7006a042 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/Difficulty.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/Difficulty.java
@@ -1,4 +1,4 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

 /**
  * List of valid difficulties.
diff --git a/src/main/java/io/github/mountainrange/mule/enums/GameType.java b/src/main/java/io/github/mountainrange/mule/enums/GameType.java
index 8ea9309eabf5a23606ddaa0374d9a4e8444b3fe1..16ce04fb10ded2a7e4b0c4613865b0f2aa3e2ded 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/GameType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/GameType.java
@@ -1,4 +1,4 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

 /**
  * List of valid difficulties.
diff --git a/src/main/java/io/github/mountainrange/mule/enums/MapSize.java b/src/main/java/io/github/mountainrange/mule/enums/MapSize.java
index 6fb13ad0bf128398eb01ae460a5ac9f8499983ba..6d2c8275df6c7aaedb4a60b60e018598f273a9f4 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/MapSize.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/MapSize.java
@@ -1,4 +1,4 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

 /**
  * List of map sizes (for the map generator).
diff --git a/src/main/java/io/github/mountainrange/mule/enums/MapType.java b/src/main/java/io/github/mountainrange/mule/enums/MapType.java
index c5350f00d361325db7e81215521995883a9da3e5..9c423fa9053bda0beace61b8c99fd4f5f6024078 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/MapType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/MapType.java
@@ -1,28 +1,28 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

-import java.util.Arrays;
-import java.util.Random;
+import java.util.Arrays.
+import java.util.Random.

 /**
  * List of map types (for the map generator).
  */
 public enum MapType {
-   CLASSIC, RANDOM_MED, EXPERIMENTAL, EMPTY;
+   CLASSIC, RANDOM_MED, EXPERIMENTAL, EMPTY.

-   private TerrainType[][] map;
-   private static final Random r = new Random();
+   private TerrainType[][] map.
+   private static final Random r = new Random().

-   private static final TerrainType[][] EMPTY_MAP;
-   private static final TerrainType[][] DEFAULT_MAP;
+   private static final TerrainType[][] EMPTY_MAP.
+   private static final TerrainType[][] DEFAULT_MAP.

    // Abbreviations
-   private static final TerrainType T99 = null;
-   private static final TerrainType T00 = TerrainType.PLAIN;
-   private static final TerrainType T01 = TerrainType.RIVER;
-   private static final TerrainType T02 = TerrainType.MOUNTAIN1;
-   private static final TerrainType T03 = TerrainType.MOUNTAIN2;
-   private static final TerrainType T04 = TerrainType.MOUNTAIN3;
-   private static final TerrainType T05 = TerrainType.TOWN;
+   private static final TerrainType T99 = null.
+   private static final TerrainType T00 = TerrainType.PLAIN.
+   private static final TerrainType T01 = TerrainType.RIVER.
+   private static final TerrainType T02 = TerrainType.MOUNTAIN1.
+   private static final TerrainType T03 = TerrainType.MOUNTAIN2.
+   private static final TerrainType T04 = TerrainType.MOUNTAIN3.
+   private static final TerrainType T05 = TerrainType.TOWN.

    static {
        EMPTY_MAP = new TerrainType[][]{
@@ -31,7 +31,7 @@ public enum MapType {
                {T99, T99, T99, T99, T99, T99, T99, T99, T99},
                {T99, T99, T99, T99, T99, T99, T99, T99, T99},
                {T99, T99, T99, T99, T99, T99, T99, T99, T99}
-       };
+       }.

        DEFAULT_MAP = new TerrainType[][]{
                {T00, T00, T02, T00, T01, T00, T04, T00, T00},
@@ -39,7 +39,7 @@ public enum MapType {
                {T04, T00, T00, T00, T05, T00, T00, T00, T02},
                {T00, T03, T00, T00, T01, T00, T03, T00, T00},
                {T00, T00, T03, T00, T01, T00, T00, T00, T03}
-       };
+       }.
    }

    /**
@@ -49,121 +49,121 @@ public enum MapType {
     * @return The randomly generated map.
     */
    private static TerrainType[][] randomMapGeneratorAlpha(int cols, int rows) {
-       int riverPosition = (int) (Math.random() * cols);
-       TerrainType[][] tileGrid = new TerrainType[rows][cols];
-       for (int y = 0; y < rows; y++) {
-           for (int x = 0; x < cols; x++) {
-               double r = Math.random();
+       int riverPosition = (int) (Math.random() * cols).
+       TerrainType[][] tileGrid = new TerrainType[rows][cols].
+       for (int y = 0. y < rows. y++) {
+           for (int x = 0. x < cols. x++) {
+               double r = Math.random().
                if (x == (cols/2) && y == (rows/2)) {
-                   tileGrid[y][x] = T05;
+                   tileGrid[y][x] = T05.
                } else if (x == riverPosition) {
-                   tileGrid[y][x] = T01;
+                   tileGrid[y][x] = T01.
                } else if (r < .1) {
-                   tileGrid[y][x] = T02;
+                   tileGrid[y][x] = T02.
                } else if (r < .2) {
-                   tileGrid[y][x] = T03;
+                   tileGrid[y][x] = T03.
                } else if (r < .3) {
-                   tileGrid[y][x] = T04;
+                   tileGrid[y][x] = T04.
                } else {
-                   tileGrid[y][x] = T00;
+                   tileGrid[y][x] = T00.
                }
            }
        }
-       return tileGrid;
+       return tileGrid.
    }

    private static TerrainType[][] randomMapGeneratorBeta(int cols, int rows, Integer riverLength, Integer numRivers) {

        // Defaults
        if (riverLength == null) {
-           riverLength = 5;
+           riverLength = 5.
        }
        if (numRivers == null) {
-           numRivers = 2;
+           numRivers = 2.
        }

        // First generate a map w/o a river.
-       TerrainType[][] tileGrid = new TerrainType[rows][cols];
+       TerrainType[][] tileGrid = new TerrainType[rows][cols].

-       for (int y = 0; y < rows; y++) {
-           for (int x = 0; x < cols; x++) {
-               double r = Math.random();
+       for (int y = 0. y < rows. y++) {
+           for (int x = 0. x < cols. x++) {
+               double r = Math.random().
                if (x == (cols/2) && y == (rows/2)) {
-                   tileGrid[y][x] = T05;
+                   tileGrid[y][x] = T05.
                } else if (r < .1) {
-                   tileGrid[y][x] = T02;
+                   tileGrid[y][x] = T02.
                } else if (r < .2) {
-                   tileGrid[y][x] = T03;
+                   tileGrid[y][x] = T03.
                } else if (r < .3) {
-                   tileGrid[y][x] = T04;
+                   tileGrid[y][x] = T04.
                } else {
-                   tileGrid[y][x] = T00;
+                   tileGrid[y][x] = T00.
                }
            }
        }

-       for (int j = 0; j < numRivers; j++) {
-           int riverX, riverY;
+       for (int j = 0. j < numRivers. j++) {
+           int riverX, riverY.
            // Now we generate rivers on top of it!

            // 1. Find a point on the edge.
            if (r.nextBoolean()) {
                // Top/bottom
-               riverX = r.nextInt(cols);
-               riverY = r.nextBoolean() ? 0 : rows - 1;
+               riverX = r.nextInt(cols).
+               riverY = r.nextBoolean() ? 0 : rows - 1.

            } else {
                // Left/Right
-               riverX = r.nextBoolean() ? 0 : cols - 1;
-               riverY = r.nextInt(rows);
+               riverX = r.nextBoolean() ? 0 : cols - 1.
+               riverY = r.nextInt(rows).
            }

-           // System.out.println(riverX + " " + riverY);
+           // System.out.println(riverX + " " + riverY).
            // Make this tile a river!
-           tileGrid[riverY][riverX] = T01;
+           tileGrid[riverY][riverX] = T01.

-           int lastDir = -1; // Prevent movement back and forth. Crossing is Ok though.
+           int lastDir = -1. // Prevent movement back and forth. Crossing is Ok though.

            // 2. Generate a river!
-           for (int i = 0; i < riverLength; i++) {
-               int direction = r.nextInt(4); // 0 = Up, 1 = Right, 2 = down, 3 = left
+           for (int i = 0. i < riverLength. i++) {
+               int direction = r.nextInt(4). // 0 = Up, 1 = Right, 2 = down, 3 = left
                if (direction == ((lastDir + 2) % 4)) {
-                   i--;
-                   continue;
+                   i--.
+                   continue.
                }

                if (direction == 0) {
                    if (riverY - 1 == rows / 2 || riverY - 1 < 0) {
-                       i--;
-                       continue;
+                       i--.
+                       continue.
                    }
-                   tileGrid[--riverY][riverX] = T01;
+                   tileGrid[--riverY][riverX] = T01.
                } else if (direction == 1) {
                    if (riverX + 1 >= cols || riverX + 1 == cols / 2) {
-                       i--;
-                       continue;
+                       i--.
+                       continue.
                    }
-                   tileGrid[riverY][++riverX] = T01;
+                   tileGrid[riverY][++riverX] = T01.
                } else if (direction == 2) {
                    if (riverY + 1 == rows / 2 || riverY + 1 >= rows) {
-                       i--;
-                       continue;
+                       i--.
+                       continue.
                    }
-                   tileGrid[++riverY][riverX] = T01;
+                   tileGrid[++riverY][riverX] = T01.
                } else {
                    if (riverX - 1 < 0 || riverX - 1 == cols / 2) {
-                       i--;
-                       continue;
+                       i--.
+                       continue.
                    }
-                   tileGrid[riverY][--riverX] = T01;
+                   tileGrid[riverY][--riverX] = T01.
                }

-               lastDir = direction;
-               // System.out.println(riverX + " " + riverY);
+               lastDir = direction.
+               // System.out.println(riverX + " " + riverY).
            }
        }

-       return tileGrid;
+       return tileGrid.
    }

    /**
@@ -173,17 +173,17 @@ public enum MapType {
    public TerrainType[][] getMap() {
        if (map == null) {
            if (this.name().equalsIgnoreCase("empty")) {
-               map =  EMPTY_MAP;
+               map =  EMPTY_MAP.
            } else if (this.name().contains("random".toUpperCase())) {
-               map = MapType.randomMapGeneratorBeta(9, 5, null, null);
+               map = MapType.randomMapGeneratorBeta(9, 5, null, null).
            } else {
-               map = DEFAULT_MAP;
+               map = DEFAULT_MAP.
            }
        }
-       return map;
+       return map.
    }

    public void resetMap() {
-       map = null;
+       map = null.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/enums/MessageType.java b/src/main/java/io/github/mountainrange/mule/enums/MessageType.java
index 7610782f243175883b006e5e5d91a1caffa18576..2ba17fc0887feb1f7d5acfefd3952eebeb4d19ff 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/MessageType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/MessageType.java
@@ -1,6 +1,6 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

-import java.util.Random;
+import java.util.Random.

 /**
  * List of valid difficulties.
@@ -29,37 +29,37 @@ public enum MessageType {
            "You won a lifetime supply of triskets. You gain some food."}),
    GAINDOUBLEFOOD(new String[] {"You decide to use AVL trees to grow your food. You doubled your food!",
            "Something happened. Something happened.",
-           "Your food discovered Mitosis. You doubled your food!"});
+           "Your food discovered Mitosis. You doubled your food!"}).

-   private String msg;
-   private String[] msgs;
-   private boolean multiEvent;
+   private String msg.
+   private String[] msgs.
+   private boolean multiEvent.

    MessageType() {
-       multiEvent = false;
-       this.msg = "";
+       multiEvent = false.
+       this.msg = "".
    }

    MessageType(String msg) {
-       multiEvent = false;
-       this.msg = msg;
+       multiEvent = false.
+       this.msg = msg.
    }

    MessageType(String[] msgs) {
-       multiEvent = true;
-       this.msgs = msgs;
+       multiEvent = true.
+       this.msgs = msgs.
    }

    public String getMsg() {
        if (!multiEvent) {
-           return msg;
+           return msg.
        } else {
-           return msgs[new Random().nextInt(msgs.length)];
+           return msgs[new Random().nextInt(msgs.length)].
        }
    }

    public String getPlayerTurnMessage(int num) {
-       this.msg = "Player " + (num+1) + "'s turn has now begun.";
-       return getMsg();
+       this.msg = "Player " + (num+1) + "'s turn has now begun.".
+       return getMsg().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/enums/MuleType.java b/src/main/java/io/github/mountainrange/mule/enums/MuleType.java
index 6e03c6192aed2d101f9dc122cba3792f0069a237..41592e89c78d64202d344efc0d15f1d814e7d9c0 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/MuleType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/MuleType.java
@@ -1,6 +1,6 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

-import javafx.scene.paint.Color;
+import javafx.scene.paint.Color.

 /**
  * Describes the type of MULE installed on a given plot.
@@ -10,11 +10,11 @@ public enum MuleType {
    FOOD_MULE(Color.GREEN),
    ENERGY_MULE(Color.YELLOW),
    SMITHORE_MULE(Color.PURPLE),
-   CRYSTITE_MULE(Color.SILVER);
+   CRYSTITE_MULE(Color.SILVER).

-   public final Color color;
+   public final Color color.

    MuleType(Color color) {
-       this.color = color;
+       this.color = color.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/enums/Race.java b/src/main/java/io/github/mountainrange/mule/enums/Race.java
index 815f9752bbbed031445dedd4be3c2f966bb52236..ae6ddfc147bbef285c49905984f30ae5c67cbc81 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/Race.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/Race.java
@@ -1,15 +1,15 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

 /**
  * Describes the race of a player.
  */
 public enum Race {
-   FOLD(1600), FAULT_BLOCK(600), DOME(1000), VOLCANIC(1000), PLATEAU(1000);
+   FOLD(1600), FAULT_BLOCK(600), DOME(1000), VOLCANIC(1000), PLATEAU(1000).

-   private int startingMoney;
+   private int startingMoney.

    Race(int startingMoney) {
-       this.startingMoney = startingMoney;
+       this.startingMoney = startingMoney.
    }

    /**
@@ -17,6 +17,6 @@ public enum Race {
     * @return the starting money of this race
     */
    public int getStartingMoney() {
-       return startingMoney;
+       return startingMoney.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/enums/ResourceType.java b/src/main/java/io/github/mountainrange/mule/enums/ResourceType.java
index 77be19159f27a4e66e3b78ec5686c6228d462f2d..34db2f59f68e2974261a36cb705d33594058e9df 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/ResourceType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/ResourceType.java
@@ -1,4 +1,4 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

 /**
  * Describe every resource in the game.
diff --git a/src/main/java/io/github/mountainrange/mule/enums/TerrainType.java b/src/main/java/io/github/mountainrange/mule/enums/TerrainType.java
index 40f761635b326c8638c7851acd569b7aaef6af94..501e41fca700463a3973352802c699675370100d 100644
--- a/src/main/java/io/github/mountainrange/mule/enums/TerrainType.java
+++ b/src/main/java/io/github/mountainrange/mule/enums/TerrainType.java
@@ -1,10 +1,10 @@
-package io.github.mountainrange.mule.enums;
+package io.github.mountainrange.mule.enums.

-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.

-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
+import javafx.scene.paint.Color.
+import javafx.scene.shape.Rectangle.

 /**
  * Describes the kind of terrain found on a given tile. Terrain types affect resource production.
@@ -16,63 +16,63 @@ public enum TerrainType {
    MOUNTAIN2("pictures/", Config.DEFAULT_PACK, "/mountain2.png"),
    MOUNTAIN3("pictures/", Config.DEFAULT_PACK, "/mountain3.png"),
    TOWN("pictures/", Config.DEFAULT_PACK, "/town.png"),
-   NULL(null, null, null);
+   NULL(null, null, null).

-   private final int tileSize = 40;
+   private final int tileSize = 40.

-   private final Rectangle rect;
-   private String dir;
-   private String pack;
-   private String fn;
+   private final Rectangle rect.
+   private String dir.
+   private String pack.
+   private String fn.

    TerrainType(Color c) {
-       this.dir = "pictures/";
-       this.pack = "";
-       this.fn = "ViPaint.png";
+       this.dir = "pictures/".
+       this.pack = "".
+       this.fn = "ViPaint.png".

-       double vSize = MULE.VSIZE;
-       double hSize = MULE.HSIZE;
+       double vSize = MULE.VSIZE.
+       double hSize = MULE.HSIZE.

-       rect = new Rectangle(tileSize, tileSize);
-       rect.setFill(c);
+       rect = new Rectangle(tileSize, tileSize).
+       rect.setFill(c).

-       rect.setX(0);
-       rect.setX(1);
+       rect.setX(0).
+       rect.setX(1).
    }

    TerrainType(String dir, String fn) {
-       this(dir, "", fn);
+       this(dir, "", fn).
    }

    TerrainType(String dir, String pack, String fn) {
-       this.dir = dir;
-       this.pack = pack;
-       this.fn = fn;
+       this.dir = dir.
+       this.pack = pack.
+       this.fn = fn.

-       double vSize = MULE.VSIZE;
-       double hSize = MULE.HSIZE;
+       double vSize = MULE.VSIZE.
+       double hSize = MULE.HSIZE.

-       rect = new Rectangle(tileSize, tileSize);
-       //rect.setFill(c);
+       rect = new Rectangle(tileSize, tileSize).
+       //rect.setFill(c).

-       rect.setX(0);
-       rect.setX(1);
+       rect.setX(0).
+       rect.setX(1).
    }

    public Rectangle getRect() {
-       return rect;
+       return rect.
    }

    public String getPath() {
-       return dir + pack + fn;
+       return dir + pack + fn.
    }

    public static void changePack(String pack) {
-       RIVER.pack = pack;
-       PLAIN.pack = pack;
-       MOUNTAIN1.pack = pack;
-       MOUNTAIN2.pack = pack;
-       MOUNTAIN3.pack = pack;
-       TOWN.pack = pack;
+       RIVER.pack = pack.
+       PLAIN.pack = pack.
+       MOUNTAIN1.pack = pack.
+       MOUNTAIN2.pack = pack.
+       MOUNTAIN3.pack = pack.
+       TOWN.pack = pack.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/Grid.java b/src/main/java/io/github/mountainrange/mule/gameplay/Grid.java
index bd852adf38d06bb3a2d50d6792676fce160a1aaa..0c3102f51fb9d26987890229cbf34e7bc19afcfc 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/Grid.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/Grid.java
@@ -1,14 +1,14 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.MapSize;
-import io.github.mountainrange.mule.enums.MapType;
-import io.github.mountainrange.mule.gameplay.javafx.VisualTile;
-import javafx.geometry.Point2D;
+import io.github.mountainrange.mule.enums.MapSize.
+import io.github.mountainrange.mule.enums.MapType.
+import io.github.mountainrange.mule.gameplay.javafx.VisualTile.
+import javafx.geometry.Point2D.

-import java.awt.*;
-import java.lang.reflect.Array;
-import java.util.Arrays;
-import java.util.Iterator;
+import java.awt.*.
+import java.lang.reflect.Array.
+import java.util.Arrays.
+import java.util.Iterator.

 /**
  * A class to represent location of things on the board.
@@ -18,24 +18,24 @@ import java.util.Iterator;
 @SuppressWarnings("unchecked")
 public abstract class Grid<T extends Tile> implements Iterable<Tile> {

-   protected T[][] grid;
-   protected int rows, cols;
-   protected Point selection = null;
+   protected T[][] grid.
+   protected int rows, cols.
+   protected Point selection = null.

-   protected Point2D playerPosition = null;
+   protected Point2D playerPosition = null.

    public Grid (int columns, int rows, MapType m, MapSize s) {
-       this.rows = rows;
-       this.cols = columns;
+       this.rows = rows.
+       this.cols = columns.

        if (this.rows < 2 || this.cols < 2) {
-           throw new IllegalArgumentException("Grid can only be constructed with more than 2 rows and columns");
+           throw new IllegalArgumentException("Grid can only be constructed with more than 2 rows and columns").
        }

-       grid = (T[][]) Array.newInstance(VisualTile.class, this.cols, this.rows);
+       grid = (T[][]) Array.newInstance(VisualTile.class, this.cols, this.rows).

        if (m.getMap().length <= 0 || grid.length != m.getMap()[0].length || grid[0].length != m.getMap().length) {
-           throw new IllegalArgumentException("Mismatch detected betwen grid size and m.map size!");
+           throw new IllegalArgumentException("Mismatch detected betwen grid size and m.map size!").
        }

    }
@@ -46,15 +46,15 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     * @deprecated use helper functions instead. Mainly for tests.
     */
    public T[][] getBackingArray() {
-       return grid;
+       return grid.
    }

    public int getRows() {
-       return rows;
+       return rows.
    }

    public int getCols() {
-       return cols;
+       return cols.
    }

    /**
@@ -67,9 +67,9 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     */
    public T get(int column, int row) {
        if (column < 0 || row < 0 || column >= grid.length || row >= grid[0].length) {
-           throw new IllegalArgumentException("Invalid row or column!");
+           throw new IllegalArgumentException("Invalid row or column!").
        }
-       return grid[column][row];
+       return grid[column][row].
    }

    /**
@@ -79,37 +79,37 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     */
    public void add(T toAdd, int column, int row) {
        if (column < 0 || row < 0 || column >= grid.length || row >= grid[0].length) {
-           throw new IllegalArgumentException("Invalid row or column!");
+           throw new IllegalArgumentException("Invalid row or column!").
        }

        if (this.get(column, row) != null) {
-           this.remove(column, row);
+           this.remove(column, row).
        }

-       grid[column][row] = toAdd;
+       grid[column][row] = toAdd.
    }

    /**
     * Adds a node to this grid.
     * Will overwrite any existing element in the grid.
     */
-   public abstract void addToTile(Object toAdd, int column, int row);
+   public abstract void addToTile(Object toAdd, int column, int row).

    /**
     * Removes a node from a selected row/column
     */
    public T remove(int column, int row) {
-       T toReturn = grid[column][row];
+       T toReturn = grid[column][row].

-       grid[column][row] = null;
-       return toReturn;
+       grid[column][row] = null.
+       return toReturn.
    }

    /**
     * Removes the current selection.
     */
    public void removeSelection() {
-       selection = null;
+       selection = null.
    }

    /**
@@ -119,22 +119,22 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     */
    public void select(int column, int row) {
        if (column < 0 || row < 0 || column >= grid.length || row >= grid[0].length) {
-           throw new IllegalArgumentException("Invalid row or column!");
+           throw new IllegalArgumentException("Invalid row or column!").
        }

        if (selection != null) {
-           this.removeSelection();
+           this.removeSelection().
        }

-       selection = new Point(column, row);
+       selection = new Point(column, row).
    }

    public int getCursorX() {
-       return ((selection == null) ? -1 : (int) selection.getX());
+       return ((selection == null) ? -1 : (int) selection.getX()).
    }

    public int getCursorY() {
-       return (selection == null ? -1 : (int) selection.getY());
+       return (selection == null ? -1 : (int) selection.getY()).
    }

    /**
@@ -146,22 +146,22 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     */
    public void move(int columnFrom, int rowFrom, int columnTo, int rowTo) {
        if (columnFrom < 0 || rowFrom < 0 || columnFrom >= grid.length || rowFrom >= grid[0].length) {
-           throw new IllegalArgumentException("Invalid row or column!");
+           throw new IllegalArgumentException("Invalid row or column!").
        }

        if (columnTo < 0 || rowTo < 0 || columnTo >= grid.length || rowTo >= grid[0].length) {
-           throw new IllegalArgumentException("Invalid row or column!");
+           throw new IllegalArgumentException("Invalid row or column!").
        }

        // Create the animation object to move the item to the destination and keep it there.
-       T toMove = grid[columnFrom][rowFrom];
+       T toMove = grid[columnFrom][rowFrom].

        if (toMove == null) {
-           throw new IllegalArgumentException("You tried to move a tile that was non existent");
+           throw new IllegalArgumentException("You tried to move a tile that was non existent").
        }

-       grid[columnFrom][rowFrom] = null;
-       grid[columnTo][rowTo] = toMove;
+       grid[columnFrom][rowFrom] = null.
+       grid[columnTo][rowTo] = toMove.
    }

    /**
@@ -171,7 +171,7 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     * @param row row to check
     * @return Whether point is inside the specified tile
     */
-   public abstract boolean isInside(Point2D toCheck, int column, int row);
+   public abstract boolean isInside(Point2D toCheck, int column, int row).

    /**
     * Moves the player to a specified point.
@@ -179,14 +179,14 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     * @param newY New player y point
     */
    public void movePlayer(double newX, double newY) {
-       playerPosition = new Point2D(newX, newY);
+       playerPosition = new Point2D(newX, newY).
    }

    /**
     * Removes the player from this grid.
     */
    public void removePlayer() {
-       playerPosition = null;
+       playerPosition = null.
    }

    /**
@@ -194,37 +194,37 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     * @return The player position. Null if no player is on the field.
     */
    public Point2D getPlayerPosition() {
-       return playerPosition;
+       return playerPosition.
    }

    /**
     * Clears this grid completely
     */
    public void clear() {
-       grid = (T[][]) Array.newInstance(VisualTile.class, this.cols, this.rows);
+       grid = (T[][]) Array.newInstance(VisualTile.class, this.cols, this.rows).
    }

    /**
     * Prints the supplied text to the screen
     * @param toPrint the text to print
     */
-   public abstract void printText(String toPrint);
+   public abstract void printText(String toPrint).

    /**
     * Clears any printed text, if any.
     */
-   public abstract void clearText();
+   public abstract void clearText().

    /**
     * Prints the supplied text to the headline area
     * @param toPrint the text to print
     */
-   public abstract void printHeadline(String toPrint);
+   public abstract void printHeadline(String toPrint).

    /**
     * Clears any printed headlines, if any.
     */
-   public abstract void clearHeadline();
+   public abstract void clearHeadline().

    /**
@@ -233,6 +233,6 @@ public abstract class Grid<T extends Tile> implements Iterable<Tile> {
     */
    @Override
    public Iterator<Tile> iterator() {
-       return (Iterator<Tile>) Arrays.stream(grid).flatMap(Arrays::stream).iterator();
+       return (Iterator<Tile>) Arrays.stream(grid).flatMap(Arrays::stream).iterator().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/PlainTile.java b/src/main/java/io/github/mountainrange/mule/gameplay/PlainTile.java
index 094a10199a3f79d6242f5e05e3104f3155853fc7..21044a6536061303eb75f1ef11835c591cd5d9f7 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/PlainTile.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/PlainTile.java
@@ -1,9 +1,9 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.TerrainType;
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.TerrainType.

-import java.util.Objects;
+import java.util.Objects.

 /**
  * An alternate Tile implementation, which does not use JavaFX.
@@ -14,9 +14,9 @@ import java.util.Objects;
  * This is useful for Junit Tests.
  */
 public class PlainTile implements Tile {
-   private Player owner;
-   private TerrainType terrain;
-   private MuleType mule;
+   private Player owner.
+   private TerrainType terrain.
+   private MuleType mule.

    /**
     * Construct a tile with the given terrain with no mule installed and no owner.
@@ -24,59 +24,59 @@ public class PlainTile implements Tile {
     * @deprecated Use VisualTile or copy this class into a different view.
 s   */
    public PlainTile(TerrainType terrain) {
-       this(Objects.requireNonNull(terrain), MuleType.EMPTY, null);
+       this(Objects.requireNonNull(terrain), MuleType.EMPTY, null).
    }

    public PlainTile(TerrainType terrain, MuleType mule, Player owner) {
-       this.terrain = terrain;
-       this.mule = mule;
-       this.owner = owner;
+       this.terrain = terrain.
+       this.mule = mule.
+       this.owner = owner.

        if (terrain == TerrainType.TOWN) {
-           this.owner = new Player(-1, "GAME", null, null);
+           this.owner = new Player(-1, "GAME", null, null).
        }
    }

    @Override
    public Player getOwner() {
-       return owner;
+       return owner.
    }

    @Override
    public void setOwner(Player owner) {
-       this.owner = owner;
+       this.owner = owner.
    }

    @Override
    public void setMuleDraw(MuleType mule) {
-       this.mule = mule;
+       this.mule = mule.
    }

    @Override
    public TerrainType getTerrain() {
-       return terrain;
+       return terrain.
    }

    @Override
    public void setTerrain(TerrainType terrain) {
-       this.terrain = terrain;
+       this.terrain = terrain.
    }

    @Override
    public MuleType getMule() {
-       return mule;
+       return mule.
    }

    @Override
    public void setMule(MuleType mule) {
-       this.mule = mule;
+       this.mule = mule.
    }

    @Override
    public int hashCode() {
-       int hash = owner != null ? owner.hashCode() : 0;
-       hash = (hash << 8) ^ terrain.ordinal();
-       hash = (hash << 8) ^ mule.ordinal();
-       return hash;
+       int hash = owner != null ? owner.hashCode() : 0.
+       hash = (hash << 8) ^ terrain.ordinal().
+       hash = (hash << 8) ^ mule.ordinal().
+       return hash.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/Player.java b/src/main/java/io/github/mountainrange/mule/gameplay/Player.java
index 66cc82e343c593c01f1f7b36b8be48424abc6fbd..c6784fd26afb8af35004930ed3260d5e42cc2347 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/Player.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/Player.java
@@ -1,47 +1,47 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.Race;
-import io.github.mountainrange.mule.enums.ResourceType;
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.Race.
+import io.github.mountainrange.mule.enums.ResourceType.

-import java.util.EnumMap;
+import java.util.EnumMap.

-import javafx.scene.paint.Color;
+import javafx.scene.paint.Color.

 /**
  * Container that holds information about a particular player.
  */
 public class Player {

-   public static final Color[] DEFAULT_COLORS = { Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE };
+   public static final Color[] DEFAULT_COLORS = { Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE }.

-   private Race race;
-   private Color color;
+   private Race race.
+   private Color color.

-   private final int id;
-   private String name;
+   private final int id.
+   private String name.

-   private int money;
+   private int money.

-   private EnumMap<ResourceType, Integer> stocks;
+   private EnumMap<ResourceType, Integer> stocks.

-   private MuleType currentMuleType;
+   private MuleType currentMuleType.

    /**
     * Create a new Player with the given id and set their name, race, and color to some default based on id.
     * @param id the id of the player to create
     */
    public Player(int id) {
-       this.id = id;
-       name = "Player " + (id + 1);
-       race = Race.values()[id % Race.values().length];
-       color = DEFAULT_COLORS[id % DEFAULT_COLORS.length];
-       money = race.getStartingMoney();
-       currentMuleType = null;
-
-       stocks = new EnumMap<>(ResourceType.class);
+       this.id = id.
+       name = "Player " + (id + 1).
+       race = Race.values()[id % Race.values().length].
+       color = DEFAULT_COLORS[id % DEFAULT_COLORS.length].
+       money = race.getStartingMoney().
+       currentMuleType = null.
+
+       stocks = new EnumMap<>(ResourceType.class).
        for (ResourceType resource : ResourceType.values()) {
-           stocks.put(resource, 0);
+           stocks.put(resource, 0).
        }
    }

@@ -53,14 +53,14 @@ public class Player {
     * @param color color of the player
     */
    public Player(int id, String name, Race race, Color color) {
-       this.id = id;
-       this.name = name;
-       this.race = race;
-       this.color = color;
+       this.id = id.
+       this.name = name.
+       this.race = race.
+       this.color = color.

-       stocks = new EnumMap<>(ResourceType.class);
+       stocks = new EnumMap<>(ResourceType.class).
        for (ResourceType resource : ResourceType.values()) {
-           stocks.put(resource, 0);
+           stocks.put(resource, 0).
        }
    }

@@ -70,7 +70,7 @@ public class Player {
     * @return the stock of the given resource
     */
    public int stockOf(ResourceType resource) {
-       return stocks.get(resource);
+       return stocks.get(resource).
    }

    /**
@@ -79,48 +79,48 @@ public class Player {
     * @param delta amount to add/subtract from the player's stocks
     */
    public void changeStockOf(ResourceType resource, int delta) {
-       stocks.put(resource, Math.max(0, stocks.get(resource) + delta));
+       stocks.put(resource, Math.max(0, stocks.get(resource) + delta)).
    }

    public int getId() {
-       return id;
+       return id.
    }

    public String getName() {
-       return name;
+       return name.
    }

    public void setName(String name) {
-       this.name = name;
+       this.name = name.
    }

    public int getMoney() {
-       return money;
+       return money.
    }

    public void setMoney(int money) {
-       this.money = money;
+       this.money = money.
    }

    public void addMoney(int money) {
-       this.money += money;
+       this.money += money.
    }

    public Race getRace() {
-       return race;
+       return race.
    }

    public void setRace(Race race) {
-       this.race = race;
-       money = race.getStartingMoney();
+       this.race = race.
+       money = race.getStartingMoney().
    }

    public Color getColor() {
-       return color;
+       return color.
    }

    public void setColor(Color color) {
-       this.color = color;
+       this.color = color.
    }

    /**
@@ -128,7 +128,7 @@ public class Player {
     * @return whether this player has a MULE
     */
    public boolean hasMule() {
-       return currentMuleType != null;
+       return currentMuleType != null.
    }

    /**
@@ -136,7 +136,7 @@ public class Player {
     * @return the type of MULE this player is carrying
     */
    public MuleType getMule() {
-       return currentMuleType;
+       return currentMuleType.
    }

    /**
@@ -144,20 +144,20 @@ public class Player {
     * @param muleType type of MULE this player should carry
     */
    public void setMule(MuleType muleType) {
-       currentMuleType = muleType;
+       currentMuleType = muleType.
    }

    public boolean equals(Object other) {
        if (other == null || !(other instanceof Player)) {
-           return false;
+           return false.
        }

-       Player o = (Player) other;
-       return name.equals(o.name) && id == o.id;
+       Player o = (Player) other.
+       return name.equals(o.name) && id == o.id.
    }

    public int hashCode() {
-       return id;
+       return id.
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/ProductionResult.java b/src/main/java/io/github/mountainrange/mule/gameplay/ProductionResult.java
index 18399b83ccb3696c6e7fe33bc9cc39b6361e3865..f22ce0866b21101244f7a36b7703f42896bac784 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/ProductionResult.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/ProductionResult.java
@@ -1,4 +1,4 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

 /**
  * Container for changes in the quantity of a particular resource due to usage, spoilage, or production.
@@ -6,19 +6,19 @@ package io.github.mountainrange.mule.gameplay;
 public class ProductionResult {

    /** The number of units of a resource that were consumed. */
-   public final int usage;
+   public final int usage.
    /** The number of units of a resource that spoiled. */
-   public final int spoilage;
+   public final int spoilage.
    /** The number of units of a resource that were produced. */
-   public final int production;
+   public final int production.
    /** The number of units of a resource that are theoretically required on the next round. */
-   public final int requirement;
+   public final int requirement.

    public ProductionResult(int usage, int spoilage, int production, int requirement) {
-       this.usage = usage;
-       this.spoilage = spoilage;
-       this.production = production;
-       this.requirement = requirement;
+       this.usage = usage.
+       this.spoilage = spoilage.
+       this.production = production.
+       this.requirement = requirement.
    }

    /**
@@ -26,29 +26,29 @@ public class ProductionResult {
     * @return net change in quantity
     */
    public int delta() {
-       return production - usage - spoilage;
+       return production - usage - spoilage.
    }

    @Override
    public boolean equals(Object other) {
        if (other == null || !(other instanceof ProductionResult)) {
-           return false;
+           return false.
        }
        if (other == this) {
-           return true;
+           return true.
        }
-       ProductionResult o = (ProductionResult) other;
+       ProductionResult o = (ProductionResult) other.
        return usage == o.usage && spoilage == o.spoilage && production == o.production
-               && requirement == o.requirement;
+               && requirement == o.requirement.
    }

    @Override
    public int hashCode() {
-       int hash = usage;
-       hash = (hash << 8) ^ spoilage;
-       hash = (hash << 8) ^ production;
-       hash = (hash << 8) ^ requirement;
-       return hash;
+       int hash = usage.
+       hash = (hash << 8) ^ spoilage.
+       hash = (hash << 8) ^ production.
+       hash = (hash << 8) ^ requirement.
+       return hash.
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/Shop.java b/src/main/java/io/github/mountainrange/mule/gameplay/Shop.java
index 6ec18f9fe0ed3af12e77962ad98871726157da6d..a175b4617679f4b0702cad04be798b46b50268b7 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/Shop.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/Shop.java
@@ -1,36 +1,36 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.Difficulty;
-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.ResourceType;
+import io.github.mountainrange.mule.enums.Difficulty.
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.ResourceType.

-import java.util.EnumMap;
+import java.util.EnumMap.

 /**
  * Hold information about current prices and inventories.
  */
 public class Shop {

-   private static final EnumMap<Difficulty, EnumMap<ResourceType, Integer>> INITIAL_STOCKS;
-   private static final EnumMap<Difficulty, EnumMap<ResourceType, Integer>> INITIAL_PRICES;
+   private static final EnumMap<Difficulty, EnumMap<ResourceType, Integer>> INITIAL_STOCKS.
+   private static final EnumMap<Difficulty, EnumMap<ResourceType, Integer>> INITIAL_PRICES.

-   private static final EnumMap<Difficulty, Integer> INITIAL_MULE_STOCK;
-   private static final EnumMap<Difficulty, Integer> INITIAL_MULE_PRICE;
+   private static final EnumMap<Difficulty, Integer> INITIAL_MULE_STOCK.
+   private static final EnumMap<Difficulty, Integer> INITIAL_MULE_PRICE.

-   private static final EnumMap<MuleType, Integer> OUTFIT_PRICES;
+   private static final EnumMap<MuleType, Integer> OUTFIT_PRICES.

-   private EnumMap<ResourceType, Integer> stocks;
-   private EnumMap<ResourceType, Integer> prices;
-   private int muleStock;
-   private int mulePrice;
+   private EnumMap<ResourceType, Integer> stocks.
+   private EnumMap<ResourceType, Integer> prices.
+   private int muleStock.
+   private int mulePrice.

    public Shop(Difficulty difficulty) {
        // Initialize stocks and prices to their starting values
-       stocks = new EnumMap<>(INITIAL_STOCKS.get(difficulty));
-       prices = new EnumMap<>(INITIAL_PRICES.get(difficulty));
+       stocks = new EnumMap<>(INITIAL_STOCKS.get(difficulty)).
+       prices = new EnumMap<>(INITIAL_PRICES.get(difficulty)).

-       muleStock = INITIAL_MULE_STOCK.get(difficulty);
-       mulePrice = INITIAL_MULE_PRICE.get(difficulty);
+       muleStock = INITIAL_MULE_STOCK.get(difficulty).
+       mulePrice = INITIAL_MULE_PRICE.get(difficulty).
    }

    /**
@@ -39,7 +39,7 @@ public class Shop {
     * @return quantity of the given resource
     */
    public int stockOf(ResourceType resource) {
-       return stocks.get(resource);
+       return stocks.get(resource).
    }

    /**
@@ -48,7 +48,7 @@ public class Shop {
     * @return price of the given resource
     */
    public int priceOf(ResourceType resource) {
-       return prices.get(resource);
+       return prices.get(resource).
    }

    /**
@@ -56,7 +56,7 @@ public class Shop {
     * @return number of MULEs for sale in the shop
     */
    public int muleStock() {
-       return muleStock;
+       return muleStock.
    }

    /**
@@ -64,7 +64,7 @@ public class Shop {
     * @return price of MULEs in the shop
     */
    public int mulePrice() {
-       return mulePrice;
+       return mulePrice.
    }

    /**
@@ -73,7 +73,7 @@ public class Shop {
     * @return price of outfitting the given MuleType
     */
    public static int outfitPriceOf(MuleType mule) {
-       return OUTFIT_PRICES.get(mule);
+       return OUTFIT_PRICES.get(mule).
    }

    /**
@@ -87,10 +87,10 @@ public class Shop {
    public static int gamblingProfit(int round, int timeLeft) {
        if (round < 0 || timeLeft < 0) {
            String msg = String.format("Can't get gambling profit for round %d with %d time left: negative values",
-                   round, timeLeft);
-           throw new IllegalArgumentException(msg);
+                   round, timeLeft).
+           throw new IllegalArgumentException(msg).
        }
-       return Math.max(0, Math.min(250, (baseGamblingProfit(round) + ((int) (Math.random() * timeLeft)))));
+       return Math.max(0, Math.min(250, (baseGamblingProfit(round) + ((int) (Math.random() * timeLeft))))).
    }

    /**
@@ -102,10 +102,10 @@ public class Shop {
     */
    private static int baseGamblingProfit(int round) {
        if (round < 0) {
-           String msg = String.format("Can't get base gambling profit for round %d: negative round", round);
-           throw new IllegalArgumentException(msg);
+           String msg = String.format("Can't get base gambling profit for round %d: negative round", round).
+           throw new IllegalArgumentException(msg).
        }
-       return ((round + 1) / 4 + 1) * 50;
+       return ((round + 1) / 4 + 1) * 50.
    }

    /**
@@ -117,18 +117,18 @@ public class Shop {
     */
    public boolean buy(Player player, ResourceType resource) {
        if (stockOf(resource) <= 0) {
-           System.out.printf("Shop is out of %s\n", resource.toString());
-           return false;
+           System.out.printf("Shop is out of %s\n", resource.toString()).
+           return false.
        }
        if (player.getMoney() < priceOf(resource)) {
-           System.out.println("Player does not have enough money");
-           return false;
+           System.out.println("Player does not have enough money").
+           return false.
        }

-       addResource(resource, -1);
-       player.addMoney(-priceOf(resource));
-       player.changeStockOf(resource, 1);
-       return true;
+       addResource(resource, -1).
+       player.addMoney(-priceOf(resource)).
+       player.changeStockOf(resource, 1).
+       return true.
    }

    /**
@@ -140,14 +140,14 @@ public class Shop {
     */
    public boolean sell(Player player, ResourceType resource) {
        if (player.stockOf(resource) <= 0) {
-           System.out.printf("Player is out of %s\n", resource.toString());
-           return false;
+           System.out.printf("Player is out of %s\n", resource.toString()).
+           return false.
        }

-       addResource(resource, 1);
-       player.addMoney(priceOf(resource));
-       player.changeStockOf(resource, -1);
-       return true;
+       addResource(resource, 1).
+       player.addMoney(priceOf(resource)).
+       player.changeStockOf(resource, -1).
+       return true.
    }

    /**
@@ -158,78 +158,78 @@ public class Shop {
     */
    public boolean sellMule(Player player, MuleType muleType) {
        if (muleStock <= 0 || player.hasMule() || player.getMoney() < outfitPriceOf(muleType)) {
-           return false;
+           return false.
        }

-       muleStock--;
-       player.addMoney(-outfitPriceOf(muleType));
-       player.setMule(muleType);
-       return true;
+       muleStock--.
+       player.addMoney(-outfitPriceOf(muleType)).
+       player.setMule(muleType).
+       return true.
    }

    private void addResource(ResourceType resource, int quantity) {
-       int stock = stocks.get(resource);
-       stocks.put(resource, stock + quantity);
+       int stock = stocks.get(resource).
+       stocks.put(resource, stock + quantity).
    }

    static {
        // Hard-coded shop stocks at the beginning of the game
-       INITIAL_STOCKS = new EnumMap<>(Difficulty.class);
+       INITIAL_STOCKS = new EnumMap<>(Difficulty.class).

-       EnumMap<ResourceType, Integer> beginnerStocks = new EnumMap<>(ResourceType.class);
-       beginnerStocks.put(ResourceType.FOOD, 16);
-       beginnerStocks.put(ResourceType.ENERGY, 16);
-       beginnerStocks.put(ResourceType.SMITHORE, 0);
-       beginnerStocks.put(ResourceType.CRYSTITE, 0);
+       EnumMap<ResourceType, Integer> beginnerStocks = new EnumMap<>(ResourceType.class).
+       beginnerStocks.put(ResourceType.FOOD, 16).
+       beginnerStocks.put(ResourceType.ENERGY, 16).
+       beginnerStocks.put(ResourceType.SMITHORE, 0).
+       beginnerStocks.put(ResourceType.CRYSTITE, 0).

-       EnumMap<ResourceType, Integer> otherStocks = new EnumMap<>(ResourceType.class);
-       otherStocks.put(ResourceType.FOOD, 8);
-       otherStocks.put(ResourceType.ENERGY, 8);
-       otherStocks.put(ResourceType.SMITHORE, 8);
-       otherStocks.put(ResourceType.CRYSTITE, 0);
+       EnumMap<ResourceType, Integer> otherStocks = new EnumMap<>(ResourceType.class).
+       otherStocks.put(ResourceType.FOOD, 8).
+       otherStocks.put(ResourceType.ENERGY, 8).
+       otherStocks.put(ResourceType.SMITHORE, 8).
+       otherStocks.put(ResourceType.CRYSTITE, 0).

-       INITIAL_STOCKS.put(Difficulty.HILL, beginnerStocks);
-       INITIAL_STOCKS.put(Difficulty.MESA, otherStocks);
-       INITIAL_STOCKS.put(Difficulty.PLATEAU, otherStocks);
-       INITIAL_STOCKS.put(Difficulty.MOUNTAIN, otherStocks);
+       INITIAL_STOCKS.put(Difficulty.HILL, beginnerStocks).
+       INITIAL_STOCKS.put(Difficulty.MESA, otherStocks).
+       INITIAL_STOCKS.put(Difficulty.PLATEAU, otherStocks).
+       INITIAL_STOCKS.put(Difficulty.MOUNTAIN, otherStocks).

        // Hard-coded shop prices at the beginning of the game
-       INITIAL_PRICES = new EnumMap<>(Difficulty.class);
+       INITIAL_PRICES = new EnumMap<>(Difficulty.class).

-       EnumMap<ResourceType, Integer> startPrices = new EnumMap<>(ResourceType.class);
-       startPrices.put(ResourceType.FOOD, 30);
-       startPrices.put(ResourceType.ENERGY, 25);
-       startPrices.put(ResourceType.SMITHORE, 50);
-       startPrices.put(ResourceType.CRYSTITE, 100);
+       EnumMap<ResourceType, Integer> startPrices = new EnumMap<>(ResourceType.class).
+       startPrices.put(ResourceType.FOOD, 30).
+       startPrices.put(ResourceType.ENERGY, 25).
+       startPrices.put(ResourceType.SMITHORE, 50).
+       startPrices.put(ResourceType.CRYSTITE, 100).

        // Initial prices are the same on every difficulty
-       INITIAL_PRICES.put(Difficulty.HILL, startPrices);
-       INITIAL_PRICES.put(Difficulty.MESA, startPrices);
-       INITIAL_PRICES.put(Difficulty.PLATEAU, startPrices);
-       INITIAL_PRICES.put(Difficulty.MOUNTAIN, startPrices);
+       INITIAL_PRICES.put(Difficulty.HILL, startPrices).
+       INITIAL_PRICES.put(Difficulty.MESA, startPrices).
+       INITIAL_PRICES.put(Difficulty.PLATEAU, startPrices).
+       INITIAL_PRICES.put(Difficulty.MOUNTAIN, startPrices).

        // Hard-coded initial MULE stocks and prices
-       INITIAL_MULE_STOCK = new EnumMap<>(Difficulty.class);
+       INITIAL_MULE_STOCK = new EnumMap<>(Difficulty.class).

-       INITIAL_MULE_STOCK.put(Difficulty.HILL, 25);
-       INITIAL_MULE_STOCK.put(Difficulty.MESA, 14);
-       INITIAL_MULE_STOCK.put(Difficulty.PLATEAU, 14);
-       INITIAL_MULE_STOCK.put(Difficulty.MOUNTAIN, 14);
+       INITIAL_MULE_STOCK.put(Difficulty.HILL, 25).
+       INITIAL_MULE_STOCK.put(Difficulty.MESA, 14).
+       INITIAL_MULE_STOCK.put(Difficulty.PLATEAU, 14).
+       INITIAL_MULE_STOCK.put(Difficulty.MOUNTAIN, 14).

-       INITIAL_MULE_PRICE = new EnumMap<>(Difficulty.class);
+       INITIAL_MULE_PRICE = new EnumMap<>(Difficulty.class).

-       INITIAL_MULE_PRICE.put(Difficulty.HILL, 100);
-       INITIAL_MULE_PRICE.put(Difficulty.MESA, 100);
-       INITIAL_MULE_PRICE.put(Difficulty.PLATEAU, 100);
-       INITIAL_MULE_PRICE.put(Difficulty.MOUNTAIN, 100);
+       INITIAL_MULE_PRICE.put(Difficulty.HILL, 100).
+       INITIAL_MULE_PRICE.put(Difficulty.MESA, 100).
+       INITIAL_MULE_PRICE.put(Difficulty.PLATEAU, 100).
+       INITIAL_MULE_PRICE.put(Difficulty.MOUNTAIN, 100).

        // Hard-coded MULE-outfitting prices
-       OUTFIT_PRICES = new EnumMap<>(MuleType.class);
+       OUTFIT_PRICES = new EnumMap<>(MuleType.class).

-       OUTFIT_PRICES.put(MuleType.FOOD_MULE, 25);
-       OUTFIT_PRICES.put(MuleType.ENERGY_MULE, 50);
-       OUTFIT_PRICES.put(MuleType.SMITHORE_MULE, 75);
-       OUTFIT_PRICES.put(MuleType.CRYSTITE_MULE, 100);
+       OUTFIT_PRICES.put(MuleType.FOOD_MULE, 25).
+       OUTFIT_PRICES.put(MuleType.ENERGY_MULE, 50).
+       OUTFIT_PRICES.put(MuleType.SMITHORE_MULE, 75).
+       OUTFIT_PRICES.put(MuleType.CRYSTITE_MULE, 100).

    }

diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/Tile.java b/src/main/java/io/github/mountainrange/mule/gameplay/Tile.java
index 8377203d1ce10324be9696055b0c5f8bb6e2643a..2d78f88b3b2e4a46285180f621f073cbfcff48a7 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/Tile.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/Tile.java
@@ -1,13 +1,13 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.TerrainType;
-import javafx.scene.Group;
-import javafx.scene.image.ImageView;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.TerrainType.
+import javafx.scene.Group.
+import javafx.scene.image.ImageView.
+import javafx.scene.paint.Color.
+import javafx.scene.shape.Rectangle.

-import java.util.Objects;
+import java.util.Objects.

 /**
  * An interface which all tiles will implement.
@@ -20,14 +20,14 @@ public interface Tile {
     * @return true if this tile has an owner, false otherwise
     */
    default boolean hasOwner() {
-       return getOwner() != null;
+       return getOwner() != null.
    }

    /**
     * Returns this tile's owner
     * @return the tile's owner, or null if no owner.
     */
-   Player getOwner();
+   Player getOwner().

    /**
     * Sets this tile's owner.
@@ -35,13 +35,13 @@ public interface Tile {
     *
     * @param owner The owner to set to
     */
-   void setOwner(Player owner);
+   void setOwner(Player owner).

-   void setMuleDraw(MuleType mule);
-   TerrainType getTerrain();
-   void setTerrain(TerrainType terrain);
-   MuleType getMule();
-   void setMule(MuleType mule);
+   void setMuleDraw(MuleType mule).
+   TerrainType getTerrain().
+   void setTerrain(TerrainType terrain).
+   MuleType getMule().
+   void setMule(MuleType mule).

    /**
     * Check if a Tile has the same data as another tile, that is, if it has the same owner, terrain, and mule
@@ -51,13 +51,13 @@ public interface Tile {
     */
    default boolean deepEquals(Object other) {
        if (other == null || !(other instanceof PlainTile)) {
-           return false;
+           return false.
        }
        if (this == other) {
-           return true;
+           return true.
        }

-       PlainTile o = (PlainTile) other;
-       return Objects.equals(getOwner(), o.getOwner()) && getTerrain() == o.getTerrain() && getMule() == o.getMule();
+       PlainTile o = (PlainTile) other.
+       return Objects.equals(getOwner(), o.getOwner()) && getTerrain() == o.getTerrain() && getMule() == o.getMule().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/WorldMap.java b/src/main/java/io/github/mountainrange/mule/gameplay/WorldMap.java
index 95fc4e40366ddf780dd47e3dba8c5e3eac897b18..614efd99389d2e0a2fab1b21b52eed63e2e00762 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/WorldMap.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/WorldMap.java
@@ -1,13 +1,13 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

-import io.github.mountainrange.mule.enums.MapType;
-import io.github.mountainrange.mule.enums.MessageType;
-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.gameplay.javafx.VisualTile;
-import javafx.geometry.Point2D;
+import io.github.mountainrange.mule.enums.MapType.
+import io.github.mountainrange.mule.enums.MessageType.
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.gameplay.javafx.VisualTile.
+import javafx.geometry.Point2D.

-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.*.
+import java.util.stream.Collectors.

 /**
  * A class to represent the map and facilitates interactions
@@ -16,33 +16,33 @@ import java.util.stream.Collectors;
 public class WorldMap implements Iterable<Tile> {

    /* An unmodifiable, empty set of tiles. */
-   private static final Set<Tile> EMPTY_SET = Collections.unmodifiableSet(new HashSet<>(0));
+   private static final Set<Tile> EMPTY_SET = Collections.unmodifiableSet(new HashSet<>(0)).

-   private Grid<VisualTile> map;
+   private Grid<VisualTile> map.

    /* List of tiles owned by each player, sorted by the MULE installed on them */
-   private Map<Player, EnumMap<MuleType, Set<Tile>>> productionTiles;
+   private Map<Player, EnumMap<MuleType, Set<Tile>>> productionTiles.

    public WorldMap(Grid<VisualTile> g, MapType mType) {
-       this.map = g;
+       this.map = g.

-       productionTiles = new HashMap<>();
+       productionTiles = new HashMap<>().

-       for (int i = 0; i < mType.getMap().length; i++) {
-           for (int j = 0; j < mType.getMap()[0].length; j++) {
+       for (int i = 0. i < mType.getMap().length. i++) {
+           for (int j = 0. j < mType.getMap()[0].length. j++) {
                if (mType.getMap()[i][j] != null) {
-                   map.add(new VisualTile(mType.getMap()[i][j]), j, i);
+                   map.add(new VisualTile(mType.getMap()[i][j]), j, i).
                }
            }
        }
    }

    public WorldMap(Grid<VisualTile> g, MapType mType, List<Player> playerList) {
-       this(g, mType);
+       this(g, mType).

-       productionTiles = new HashMap<>();
+       productionTiles = new HashMap<>().
        for (Player p : playerList) {
-           productionTiles.put(p, new EnumMap<>(MuleType.class));
+           productionTiles.put(p, new EnumMap<>(MuleType.class)).
        }
    }

@@ -55,11 +55,11 @@ public class WorldMap implements Iterable<Tile> {
     */
    public int countLandOwnedBy(Player player) {
        if (!productionTiles.containsKey(player)) {
-           return 0;
+           return 0.
        }

        // Count all the tiles in the individual Sets owned by the given player
-       return productionTiles.get(player).values().stream().mapToInt(Set::size).sum();
+       return productionTiles.get(player).values().stream().mapToInt(Set::size).sum().
    }

    /**
@@ -70,13 +70,13 @@ public class WorldMap implements Iterable<Tile> {
     */
    public Set<Tile> landOwnedBy(Player player) {
        if (!productionTiles.containsKey(player)) {
-           return EMPTY_SET;
+           return EMPTY_SET.
        }

        // Construct a flat Set of all the Tiles a given player owns
        return productionTiles.get(player).values().stream()
                .flatMap(Set::stream)
-               .collect(Collectors.toCollection(HashSet::new));
+               .collect(Collectors.toCollection(HashSet::new)).
    }

    /**
@@ -87,9 +87,9 @@ public class WorldMap implements Iterable<Tile> {
     */
    public int countTilesWithMule(Player player, MuleType mule) {
        if (!productionTiles.containsKey(player)) {
-           return 0;
+           return 0.
        }
-       return productionTiles.get(player).get(mule).size();
+       return productionTiles.get(player).get(mule).size().
    }

    /**
@@ -100,9 +100,9 @@ public class WorldMap implements Iterable<Tile> {
     */
    public Set<Tile> tilesWithMule(Player player, MuleType mule) {
        if (!productionTiles.containsKey(player)) {
-           return EMPTY_SET;
+           return EMPTY_SET.
        }
-       return Collections.unmodifiableSet(productionTiles.get(player).get(mule));
+       return Collections.unmodifiableSet(productionTiles.get(player).get(mule)).
    }

    /**
@@ -113,24 +113,24 @@ public class WorldMap implements Iterable<Tile> {
     */
    public boolean sellTile(Player player, VisualTile tile) {
        if (tile.hasOwner()) {
-           return false;
+           return false.
        }

        if (!productionTiles.containsKey(player)) {
            // Adding a new player
-           EnumMap<MuleType, Set<Tile>> playerProductionTiles = new EnumMap<>(MuleType.class);
+           EnumMap<MuleType, Set<Tile>> playerProductionTiles = new EnumMap<>(MuleType.class).

            for (MuleType muleType : MuleType.values()) {
-               playerProductionTiles.put(muleType, new HashSet<>());
+               playerProductionTiles.put(muleType, new HashSet<>()).
            }

-           productionTiles.put(player, playerProductionTiles);
+           productionTiles.put(player, playerProductionTiles).
        }

-       tile.setOwner(player);
+       tile.setOwner(player).

-       productionTiles.get(player).get(MuleType.EMPTY).add(tile);
-       return true;
+       productionTiles.get(player).get(MuleType.EMPTY).add(tile).
+       return true.
    }

    /**
@@ -138,7 +138,7 @@ public class WorldMap implements Iterable<Tile> {
     * @param msg
     */
    public void showCustomText(String msg) {
-       map.printText(msg);
+       map.printText(msg).
    }

    /**
@@ -146,14 +146,14 @@ public class WorldMap implements Iterable<Tile> {
     * @param msg
     */
    public void showText(MessageType msg) {
-       map.printText(msg.getMsg());
+       map.printText(msg.getMsg()).
    }

    /**
     * Calls World Map to clear display text
     */
    public void clearText() {
-       map.clearText();
+       map.clearText().
    }

    /**
@@ -165,28 +165,28 @@ public class WorldMap implements Iterable<Tile> {
     */
    public boolean placeMule(Player player, Tile tile) {
        if (tile.getOwner() != player || !player.hasMule() || player.getMule() == MuleType.EMPTY) {
-           return false;
+           return false.
        }

-       MuleType previousMule = tile.getMule();
-       MuleType newMule = player.getMule();
+       MuleType previousMule = tile.getMule().
+       MuleType newMule = player.getMule().

        // Place the MULE in the actual tile
-       tile.setMule(newMule);
-       tile.setMuleDraw(newMule);
+       tile.setMule(newMule).
+       tile.setMuleDraw(newMule).
        // Take the MULE away from the player
-       player.setMule(null);
+       player.setMule(null).

        // Take tile out of its old set into its new one, based on MULE installed
-       Map<MuleType, Set<Tile>> playerProductionTiles = productionTiles.get(player);
-       playerProductionTiles.get(previousMule).remove(tile);
-       playerProductionTiles.get(newMule).add(tile);
-       return true;
+       Map<MuleType, Set<Tile>> playerProductionTiles = productionTiles.get(player).
+       playerProductionTiles.get(previousMule).remove(tile).
+       playerProductionTiles.get(newMule).add(tile).
+       return true.
    }

    @Override
    public Iterator<Tile> iterator() {
-       return map.iterator();
+       return map.iterator().
    }

    /**
@@ -194,7 +194,7 @@ public class WorldMap implements Iterable<Tile> {
     * @return cols the number of columns in this map
     */
    public int getColumns() {
-       return map.getCols();
+       return map.getCols().
    }

    /**
@@ -202,7 +202,7 @@ public class WorldMap implements Iterable<Tile> {
     * @return rows the number of rows in this map
     */
    public int getRows() {
-       return map.getRows();
+       return map.getRows().
    }

    // ----------------------------Graphical methods-----------------------------
@@ -214,9 +214,9 @@ public class WorldMap implements Iterable<Tile> {
     */
    @SuppressWarnings("deprecated")
    public VisualTile cursorTile() {
-       int x = map.getCursorX();
-       int y = map.getCursorY();
-       return map.get(x, y);
+       int x = map.getCursorX().
+       int y = map.getCursorY().
+       return map.get(x, y).
    }

    /**
@@ -225,8 +225,8 @@ public class WorldMap implements Iterable<Tile> {
     * @return whether the tile was actually sold
     */
    public boolean sellTile(Player player) {
-       VisualTile tile = cursorTile();
-       return sellTile(player, tile);
+       VisualTile tile = cursorTile().
+       return sellTile(player, tile).
    }

    /**
@@ -237,75 +237,75 @@ public class WorldMap implements Iterable<Tile> {
     * @return whether the mule was placed
     */
    public boolean placeMule(Player player) {
-       Tile tile = cursorTile();
-       return placeMule(player, tile);
+       Tile tile = cursorTile().
+       return placeMule(player, tile).
    }

    public boolean select(int x, int y) {
        if (x < 0 || y < 0 || x >= map.getCols() || y >= map.getRows()) {
-           System.out.println("Cannot select off map");
-           return false;
+           System.out.println("Cannot select off map").
+           return false.
        }
-       map.select(x, y);
-       return true;
+       map.select(x, y).
+       return true.
    }

    public boolean selectRel(int xmove, int ymove) {
-       int newposx = map.getCursorX() + xmove;
-       int newposy = map.getCursorY() + ymove;
+       int newposx = map.getCursorX() + xmove.
+       int newposy = map.getCursorY() + ymove.
        if (newposx < 0) {
-           newposx = map.getCols() - 1;
+           newposx = map.getCols() - 1.
        } else if (newposy < 0) {
-           newposy = map.getRows() - 1;
+           newposy = map.getRows() - 1.
        } else if (newposx >= map.getCols()) {
-           newposx = 0;
+           newposx = 0.
        } else if (newposy >= map.getRows()) {
-           newposy = 0;
+           newposy = 0.
        }
-       map.select(newposx, newposy);
-       return true;
+       map.select(newposx, newposy).
+       return true.
    }

    public boolean selectUp() {
-       return selectRel(0, -1);
+       return selectRel(0, -1).
    }

    public boolean selectDown() {
-       return selectRel(0, 1);
+       return selectRel(0, 1).
    }

    public boolean selectRight() {
-       return selectRel(1, 0);
+       return selectRel(1, 0).
    }

    public boolean selectLeftWrap() {
-       int newposx = map.getCursorX() - 1;
-       int newposy = map.getCursorY() - 1;
+       int newposx = map.getCursorX() - 1.
+       int newposy = map.getCursorY() - 1.
        if (newposx < 0 && newposy < 0) {
-           return select(map.getCols() - 1, newposy);
+           return select(map.getCols() - 1, newposy).
        }
-       return selectRel(1, 0);
+       return selectRel(1, 0).
    }

    public boolean selectRightWrap() {
-       int newposx = map.getCursorX() + 1;
-       int newposy = map.getCursorY() + 1;
+       int newposx = map.getCursorX() + 1.
+       int newposy = map.getCursorY() + 1.
        if (newposx >= map.getCols()) {
-           return select(0, newposy % map.getRows());
+           return select(0, newposy % map.getRows()).
        }
-       return selectRel(1, 0);
+       return selectRel(1, 0).
    }

    public boolean selectLeft() {
-       return selectRel(-1, 0);
+       return selectRel(-1, 0).
    }

    public Player getOwner() {
-       return cursorTile().getOwner();
+       return cursorTile().getOwner().
    }

    public boolean isInside(Point2D toCheck, int column, int row) {
-       return map.isInside(toCheck, column, row);
+       return map.isInside(toCheck, column, row).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualGrid.java b/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualGrid.java
index b8f9727b4f784f95a9f37934b4e2dba38794ee0e..f61e1c0eeebfdb9a5198b7584141a0d1f341b143 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualGrid.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualGrid.java
@@ -1,27 +1,27 @@
-package io.github.mountainrange.mule.gameplay.javafx;
-
-import io.github.mountainrange.mule.enums.MapSize;
-import io.github.mountainrange.mule.enums.MapType;
-
-import io.github.mountainrange.mule.gameplay.Grid;
-import io.github.mountainrange.mule.gameplay.Tile;
-import javafx.animation.Interpolator;
-import javafx.animation.PathTransition;
-import javafx.geometry.Point2D;
-import javafx.scene.Group;
-import javafx.scene.Node;
-import javafx.scene.layout.Pane;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.LineTo;
-import javafx.scene.shape.MoveTo;
-import javafx.scene.shape.Path;
-import javafx.scene.shape.Rectangle;
-import javafx.scene.text.Text;
-import javafx.scene.text.Font;
-import javafx.scene.text.TextAlignment;
-import javafx.scene.text.FontPosture;
-import javafx.scene.text.FontWeight;
-import javafx.util.Duration;
+package io.github.mountainrange.mule.gameplay.javafx.
+
+import io.github.mountainrange.mule.enums.MapSize.
+import io.github.mountainrange.mule.enums.MapType.
+
+import io.github.mountainrange.mule.gameplay.Grid.
+import io.github.mountainrange.mule.gameplay.Tile.
+import javafx.animation.Interpolator.
+import javafx.animation.PathTransition.
+import javafx.geometry.Point2D.
+import javafx.scene.Group.
+import javafx.scene.Node.
+import javafx.scene.layout.Pane.
+import javafx.scene.paint.Color.
+import javafx.scene.shape.LineTo.
+import javafx.scene.shape.MoveTo.
+import javafx.scene.shape.Path.
+import javafx.scene.shape.Rectangle.
+import javafx.scene.text.Text.
+import javafx.scene.text.Font.
+import javafx.scene.text.TextAlignment.
+import javafx.scene.text.FontPosture.
+import javafx.scene.text.FontWeight.
+import javafx.util.Duration.

 /**
  * A class to represent a scalable Grid in javafx.
@@ -32,42 +32,42 @@ import javafx.util.Duration;
  *
  */
 public class VisualGrid<T extends Group & Tile> extends Grid<T> {
-   private Pane upperPane;
-   private Rectangle selectionRect;
+   private Pane upperPane.
+   private Rectangle selectionRect.

-   public static final double THICKNESS = 1;
-   public static final Color COLOR = Color.BLACK;
-   public static final Rectangle SELECTION_TEMPLATE;
+   public static final double THICKNESS = 1.
+   public static final Color COLOR = Color.BLACK.
+   public static final Rectangle SELECTION_TEMPLATE.

-   private Text overlayText;
-   private Text overlayHeadline;
+   private Text overlayText.
+   private Text overlayHeadline.

    // TODO make the player not a rectangle
-   public static final Rectangle PLAYER_TEMPLATE;
-   private Rectangle player;
+   public static final Rectangle PLAYER_TEMPLATE.
+   private Rectangle player.

-   public static final double TEXT_DISPLAY_RATIO = 3.0 / 4.0;
-   public static final double HEADLINE_DISPLAY_RATIO = 1.0 / 4.0;
-   public static final double TEXT_BUFFER = 20;
+   public static final double TEXT_DISPLAY_RATIO = 3.0 / 4.0.
+   public static final double HEADLINE_DISPLAY_RATIO = 1.0 / 4.0.
+   public static final double TEXT_BUFFER = 20.

    static {
-       SELECTION_TEMPLATE = new Rectangle(1, 1, Color.TRANSPARENT);
-       SELECTION_TEMPLATE.setFill(Color.TRANSPARENT);
-       SELECTION_TEMPLATE.setStroke(Color.BLACK);
-       SELECTION_TEMPLATE.setStrokeWidth(0.05);
-
-       PLAYER_TEMPLATE = new Rectangle(0.125, 0.125, 0.5, 0.5);
-       PLAYER_TEMPLATE.setFill(Color.YELLOW);
-       PLAYER_TEMPLATE.setStroke(Color.ORANGE);
-       PLAYER_TEMPLATE.setStrokeWidth(0.05);
+       SELECTION_TEMPLATE = new Rectangle(1, 1, Color.TRANSPARENT).
+       SELECTION_TEMPLATE.setFill(Color.TRANSPARENT).
+       SELECTION_TEMPLATE.setStroke(Color.BLACK).
+       SELECTION_TEMPLATE.setStrokeWidth(0.05).
+
+       PLAYER_TEMPLATE = new Rectangle(0.125, 0.125, 0.5, 0.5).
+       PLAYER_TEMPLATE.setFill(Color.YELLOW).
+       PLAYER_TEMPLATE.setStroke(Color.ORANGE).
+       PLAYER_TEMPLATE.setStrokeWidth(0.05).
    }

    public VisualGrid(int cols, int rows, MapType mapType, MapSize mapSize, Pane upperPane) {
-       super(cols, rows, mapType, mapSize);
-       this.upperPane = upperPane;
+       super(cols, rows, mapType, mapSize).
+       this.upperPane = upperPane.

        // Loads existing grid in, and other stuff.
-       resetGrid();
+       resetGrid().
    }

    /**
@@ -75,34 +75,34 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
     */
    private void resetGrid() {
        // Remove everything from upper pane
-       upperPane.getChildren().clear();
+       upperPane.getChildren().clear().

-       for (int i = 1; i < this.cols; i++) {
-           Rectangle toAdd = new Rectangle();
-           toAdd.setFill(VisualGrid.COLOR);
-           toAdd.setWidth(VisualGrid.THICKNESS);
-           toAdd.setHeight(1);
+       for (int i = 1. i < this.cols. i++) {
+           Rectangle toAdd = new Rectangle().
+           toAdd.setFill(VisualGrid.COLOR).
+           toAdd.setWidth(VisualGrid.THICKNESS).
+           toAdd.setHeight(1).
            toAdd.layoutXProperty().bind(upperPane.widthProperty().divide(cols)
-                                        .multiply(i).subtract(VisualGrid.THICKNESS / 2.0));
-           toAdd.scaleYProperty().bind(upperPane.heightProperty().multiply(2));
-           upperPane.getChildren().add(toAdd);
+                                        .multiply(i).subtract(VisualGrid.THICKNESS / 2.0)).
+           toAdd.scaleYProperty().bind(upperPane.heightProperty().multiply(2)).
+           upperPane.getChildren().add(toAdd).
        }

-       for (int i = 1; i < this.cols; i++) {
-           Rectangle toAdd = new Rectangle();
-           toAdd.setFill(VisualGrid.COLOR);
-           toAdd.setHeight(VisualGrid.THICKNESS);
-           toAdd.setWidth(1);
+       for (int i = 1. i < this.cols. i++) {
+           Rectangle toAdd = new Rectangle().
+           toAdd.setFill(VisualGrid.COLOR).
+           toAdd.setHeight(VisualGrid.THICKNESS).
+           toAdd.setWidth(1).
            toAdd.layoutYProperty().bind(upperPane.heightProperty().divide(rows)
-                                        .multiply(i).subtract(VisualGrid.THICKNESS / 2.0));
-           toAdd.scaleXProperty().bind(upperPane.widthProperty().multiply(2));
-           upperPane.getChildren().add(toAdd);
+                                        .multiply(i).subtract(VisualGrid.THICKNESS / 2.0)).
+           toAdd.scaleXProperty().bind(upperPane.widthProperty().multiply(2)).
+           upperPane.getChildren().add(toAdd).
        }

-       for (int i = 0; i < grid.length; i++) {
-           for (int j = 0; j < grid[0].length; j ++) {
+       for (int i = 0. i < grid.length. i++) {
+           for (int j = 0. j < grid[0].length. j ++) {
                if (grid[i][j] != null) {
-                   this.add(grid[i][j], i, j);
+                   this.add(grid[i][j], i, j).
                }
            }
        }
@@ -115,11 +115,11 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
     * @param row Row to bind
     */
    private void bindToGrid(Node toBind, double column, double row) {
-       toBind.layoutXProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + column * 2.0));
-       toBind.layoutYProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + row * 2.0));
+       toBind.layoutXProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + column * 2.0)).
+       toBind.layoutYProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + row * 2.0)).

-       toBind.scaleXProperty().bind(upperPane.widthProperty().divide(this.cols));
-       toBind.scaleYProperty().bind(upperPane.heightProperty().divide(this.rows));
+       toBind.scaleXProperty().bind(upperPane.widthProperty().divide(this.cols)).
+       toBind.scaleYProperty().bind(upperPane.heightProperty().divide(this.rows)).
    }

    /**
@@ -129,47 +129,47 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
     */
    public void add(T toAdd, int column, int row) {
        if (!(toAdd instanceof VisualTile)) {
-           throw new IllegalArgumentException("You cannot use non-visual tiles with VisualGrid!");
+           throw new IllegalArgumentException("You cannot use non-visual tiles with VisualGrid!").
        }

-       super.add(toAdd, column, row);
+       super.add(toAdd, column, row).

-       toAdd.maxHeight(1);
-       toAdd.maxWidth(1);
+       toAdd.maxHeight(1).
+       toAdd.maxWidth(1).

-       this.bindToGrid(toAdd, column, row);
-       upperPane.getChildren().add(toAdd);
+       this.bindToGrid(toAdd, column, row).
+       upperPane.getChildren().add(toAdd).
    }

    /**
     * Removes a node from a selected row/column
     */
    public T remove(int column, int row) {
-       T toReturn = super.remove(column, row);
+       T toReturn = super.remove(column, row).
        if (toReturn != null) {
-           upperPane.getChildren().remove(toReturn);
+           upperPane.getChildren().remove(toReturn).
        }
-       return toReturn;
+       return toReturn.
    }

    /**
     * Removes the current selection
     */
    public void removeSelection() {
-       super.removeSelection();
+       super.removeSelection().
        if (selectionRect != null) {
-           upperPane.getChildren().remove(selectionRect);
-           selectionRect = null;
+           upperPane.getChildren().remove(selectionRect).
+           selectionRect = null.
        }
    }

    @Override
    public void addToTile(Object toAdd, int column, int row) {
        if (!(toAdd instanceof Node && toAdd instanceof Tile)) {
-           throw new IllegalArgumentException("You cannot add non-visual elements to a VisualGrid Tile");
+           throw new IllegalArgumentException("You cannot add non-visual elements to a VisualGrid Tile").
        }

-       ((T)grid[column][row]).getChildren().add((T) toAdd);
+       ((T)grid[column][row]).getChildren().add((T) toAdd).
    }

    /**
@@ -178,64 +178,64 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
     * Will overwrite previous calls to select.
     */
    public void select(int column, int row) {
-       super.select(column, row);
+       super.select(column, row).

        if (selectionRect != null) {
-           this.upperPane.getChildren().remove(selectionRect);
+           this.upperPane.getChildren().remove(selectionRect).
        }
-       selectionRect = VisualGrid.SELECTION_TEMPLATE;
+       selectionRect = VisualGrid.SELECTION_TEMPLATE.

-       selectionRect.setHeight(1 - selectionRect.getStrokeWidth() * 2);
-       selectionRect.setWidth(1 - selectionRect.getStrokeWidth() * 2);
+       selectionRect.setHeight(1 - selectionRect.getStrokeWidth() * 2).
+       selectionRect.setWidth(1 - selectionRect.getStrokeWidth() * 2).

-       this.bindToGrid(selectionRect, selection.getX(), selection.getY());
+       this.bindToGrid(selectionRect, selection.getX(), selection.getY()).

-       upperPane.getChildren().add(selectionRect);
+       upperPane.getChildren().add(selectionRect).
    }

    public void move(int columnFrom, int rowFrom, int columnTo, int rowTo) {
-       super.move(columnFrom, rowFrom, columnTo, rowTo);
+       super.move(columnFrom, rowFrom, columnTo, rowTo).

        // Find the node to animate (has already been moved)
-       T toAnimate = grid[columnTo][rowTo];
-
-       toAnimate.layoutXProperty().unbind();
-       toAnimate.layoutYProperty().unbind();
-       toAnimate.layoutXProperty().bind(upperPane.widthProperty().multiply(0)); // effectively zero out the bind
-       toAnimate.layoutYProperty().bind(upperPane.widthProperty().multiply(0)); // effectively zero out the bind
-
-       Path path = new Path();
-
-       MoveTo start = new MoveTo(1, 1);
-       LineTo end = new LineTo(1, 1);
-       start.xProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + columnFrom * 2.0));
-       start.yProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + rowFrom * 2.0));
-       end.xProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + columnTo * 2.0));
-       end.yProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + rowTo * 2.0));
-
-       path.getElements().add(start);
-       path.getElements().add(end);
-       path.setStroke(Color.BLACK);
-       path.setStrokeWidth(2);
-
-       // upperPane.getChildren().add(path); // For debug purposes
-
-       PathTransition animation = new PathTransition();
-       animation.setDuration(Duration.seconds(1.0));
-       animation.setPath(path);
-       animation.setNode(toAnimate);
-       animation.setAutoReverse(false);
-       animation.setInterpolator(Interpolator.LINEAR);
-       animation.play();
+       T toAnimate = grid[columnTo][rowTo].
+
+       toAnimate.layoutXProperty().unbind().
+       toAnimate.layoutYProperty().unbind().
+       toAnimate.layoutXProperty().bind(upperPane.widthProperty().multiply(0)). // effectively zero out the bind
+       toAnimate.layoutYProperty().bind(upperPane.widthProperty().multiply(0)). // effectively zero out the bind
+
+       Path path = new Path().
+
+       MoveTo start = new MoveTo(1, 1).
+       LineTo end = new LineTo(1, 1).
+       start.xProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + columnFrom * 2.0)).
+       start.yProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + rowFrom * 2.0)).
+       end.xProperty().bind(upperPane.widthProperty().divide(cols).divide(2.0).multiply(1 + columnTo * 2.0)).
+       end.yProperty().bind(upperPane.heightProperty().divide(rows).divide(2.0).multiply(1 + rowTo * 2.0)).
+
+       path.getElements().add(start).
+       path.getElements().add(end).
+       path.setStroke(Color.BLACK).
+       path.setStrokeWidth(2).
+
+       // upperPane.getChildren().add(path). // For debug purposes
+
+       PathTransition animation = new PathTransition().
+       animation.setDuration(Duration.seconds(1.0)).
+       animation.setPath(path).
+       animation.setNode(toAnimate).
+       animation.setAutoReverse(false).
+       animation.setInterpolator(Interpolator.LINEAR).
+       animation.play().
    }

    @Override
    public boolean isInside(Point2D toCheck, int column, int row) {
-       T tile = grid[column][row];
+       T tile = grid[column][row].
        Rectangle r = new Rectangle(tile.getLayoutX() - tile.getScaleX() / 2,
                tile.getLayoutY() - tile.getScaleY() / 2,
-               tile.getScaleX(), tile.getScaleY());
-       return r.contains(toCheck);
+               tile.getScaleX(), tile.getScaleY()).
+       return r.contains(toCheck).
    }

    /**
@@ -246,80 +246,80 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
     * @param newY New player y point
     */
    public void movePlayer(double newX, double newY) {
-       super.movePlayer(newX, newY);
+       super.movePlayer(newX, newY).

        if (player != null) {
-           this.upperPane.getChildren().remove(player);
+           this.upperPane.getChildren().remove(player).
        }

-       player = VisualGrid.PLAYER_TEMPLATE;
-       this.bindToGrid(player, playerPosition.getX(), playerPosition.getY());
+       player = VisualGrid.PLAYER_TEMPLATE.
+       this.bindToGrid(player, playerPosition.getX(), playerPosition.getY()).

-       upperPane.getChildren().add(player);
+       upperPane.getChildren().add(player).
    }

    /**
     * Removes the player from this grid.
     */
    public void removePlayer() {
-       super.removePlayer();
+       super.removePlayer().

        if (this.player != null) {
-           this.upperPane.getChildren().remove(this.player);
-           this.player = null;
+           this.upperPane.getChildren().remove(this.player).
+           this.player = null.
        }
    }

    @Override
    public void printText(String toPrint) {
        if (overlayText != null) {
-           clearText();
+           clearText().
        }

-       overlayText = new Text(0, 0, toPrint);
-       overlayText.setFont(Font.font("monospaced", FontWeight.BOLD, FontPosture.REGULAR, 25));
+       overlayText = new Text(0, 0, toPrint).
+       overlayText.setFont(Font.font("monospaced", FontWeight.BOLD, FontPosture.REGULAR, 25)).
        overlayText.yProperty().bind(
-           this.upperPane.heightProperty().multiply(TEXT_DISPLAY_RATIO));
+           this.upperPane.heightProperty().multiply(TEXT_DISPLAY_RATIO)).

-       overlayText.xProperty().bind(this.upperPane.widthProperty().multiply(0).add(TEXT_BUFFER));
-       overlayText.wrappingWidthProperty().bind(this.upperPane.widthProperty().subtract(TEXT_BUFFER * 2));
-       overlayText.setTextAlignment(TextAlignment.CENTER);
+       overlayText.xProperty().bind(this.upperPane.widthProperty().multiply(0).add(TEXT_BUFFER)).
+       overlayText.wrappingWidthProperty().bind(this.upperPane.widthProperty().subtract(TEXT_BUFFER * 2)).
+       overlayText.setTextAlignment(TextAlignment.CENTER).

-       this.upperPane.getChildren().add(overlayText);
+       this.upperPane.getChildren().add(overlayText).
    }

    @Override
    public void clearText() {
        if (overlayText != null) {
-           this.upperPane.getChildren().remove(overlayText);
-           overlayText = null;
+           this.upperPane.getChildren().remove(overlayText).
+           overlayText = null.
        }
    }

    @Override
    public void printHeadline(String toPrint) {
        if (overlayHeadline != null) {
-           clearText();
+           clearText().
        }

-       overlayHeadline = new Text(0, 0, toPrint);
-       overlayHeadline.setFont(Font.font("monospaced", FontWeight.BOLD, FontPosture.REGULAR, 25));
+       overlayHeadline = new Text(0, 0, toPrint).
+       overlayHeadline.setFont(Font.font("monospaced", FontWeight.BOLD, FontPosture.REGULAR, 25)).
        overlayHeadline.yProperty().bind(
-           this.upperPane.heightProperty().multiply(HEADLINE_DISPLAY_RATIO));
+           this.upperPane.heightProperty().multiply(HEADLINE_DISPLAY_RATIO)).

-       overlayHeadline.xProperty().bind(this.upperPane.widthProperty().multiply(0).add(TEXT_BUFFER));
-       overlayHeadline.wrappingWidthProperty().bind(this.upperPane.widthProperty().subtract(TEXT_BUFFER * 2));
-       overlayHeadline.setTextAlignment(TextAlignment.CENTER);
+       overlayHeadline.xProperty().bind(this.upperPane.widthProperty().multiply(0).add(TEXT_BUFFER)).
+       overlayHeadline.wrappingWidthProperty().bind(this.upperPane.widthProperty().subtract(TEXT_BUFFER * 2)).
+       overlayHeadline.setTextAlignment(TextAlignment.CENTER).

-       this.upperPane.getChildren().add(overlayHeadline);
+       this.upperPane.getChildren().add(overlayHeadline).
    }

    @Override
    public void clearHeadline() {
        if (overlayHeadline != null) {
-           this.upperPane.getChildren().remove(overlayHeadline);
-           overlayHeadline = null;
+           this.upperPane.getChildren().remove(overlayHeadline).
+           overlayHeadline = null.
        }
    }

@@ -327,7 +327,7 @@ public class VisualGrid<T extends Group & Tile> extends Grid<T> {
    @Override
    public void clear() {
        // Remove all visual items.
-       upperPane.getChildren().clear();
-       super.clear();
+       upperPane.getChildren().clear().
+       super.clear().
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualTile.java b/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualTile.java
index d79ec8d9e741c79ba0dd63bfd9feed0f0adbff23..498e0e9c1eb446e8ccb9200cc1020ec1526f8110 100644
--- a/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualTile.java
+++ b/src/main/java/io/github/mountainrange/mule/gameplay/javafx/VisualTile.java
@@ -1,15 +1,15 @@
-package io.github.mountainrange.mule.gameplay.javafx;
+package io.github.mountainrange.mule.gameplay.javafx.

-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.TerrainType;
-import io.github.mountainrange.mule.gameplay.Player;
-import io.github.mountainrange.mule.gameplay.Tile;
-import javafx.scene.Group;
-import javafx.scene.image.ImageView;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.TerrainType.
+import io.github.mountainrange.mule.gameplay.Player.
+import io.github.mountainrange.mule.gameplay.Tile.
+import javafx.scene.Group.
+import javafx.scene.image.ImageView.
+import javafx.scene.paint.Color.
+import javafx.scene.shape.Rectangle.

-import java.util.Objects;
+import java.util.Objects.

 /**
  * A tile which is drawn onto the screen.
@@ -19,107 +19,107 @@ import java.util.Objects;
  */
 public class VisualTile extends Group implements Tile {

-   private Player owner;
-   private Rectangle ownerRect;
-   private Rectangle muleRect;
-   private TerrainType terrain;
-   private MuleType mule;
+   private Player owner.
+   private Rectangle ownerRect.
+   private Rectangle muleRect.
+   private TerrainType terrain.
+   private MuleType mule.

    /**
     * Construct a tile with the given terrain with no mule installed and no owner.
     * @param terrain type of terrain on the tile
     */
    public VisualTile(TerrainType terrain) {
-       this(Objects.requireNonNull(terrain), MuleType.EMPTY, null);
+       this(Objects.requireNonNull(terrain), MuleType.EMPTY, null).
    }

    public VisualTile(TerrainType terrain, MuleType mule, Player owner) {
        // If we are not supposed to draw something, don't draw it.
        if (terrain != TerrainType.NULL) {
-           ImageView image = new ImageView(terrain.getPath());
-           image.setFitWidth(1);
-           image.setFitHeight(1);
-           this.getChildren().add(image);
+           ImageView image = new ImageView(terrain.getPath()).
+           image.setFitWidth(1).
+           image.setFitHeight(1).
+           this.getChildren().add(image).

-           this.maxWidth(1);
-           this.maxHeight(1);
+           this.maxWidth(1).
+           this.maxHeight(1).
        }

-       this.terrain = terrain;
-       this.mule = mule;
-       this.owner = owner;
+       this.terrain = terrain.
+       this.mule = mule.
+       this.owner = owner.

        if (terrain == TerrainType.TOWN) {
-           this.owner = new Player(-1, "GAME", null, null);
+           this.owner = new Player(-1, "GAME", null, null).
        }
    }

    @Override
    public Player getOwner() {
-       return owner;
+       return owner.
    }

    @Override
    public void setOwner(Player owner) {
-       this.owner = owner;
+       this.owner = owner.

        if (terrain != TerrainType.NULL) {
            if (ownerRect != null) {
-               this.getChildren().remove(ownerRect);
+               this.getChildren().remove(ownerRect).
            }
-           ownerRect = new Rectangle(0.05, 0.05, 1, 1);
-           ownerRect.setFill(Color.TRANSPARENT);
-           ownerRect.setStroke(owner.getColor());
-           ownerRect.setStrokeWidth(0.05);
+           ownerRect = new Rectangle(0.05, 0.05, 1, 1).
+           ownerRect.setFill(Color.TRANSPARENT).
+           ownerRect.setStroke(owner.getColor()).
+           ownerRect.setStrokeWidth(0.05).

-           ownerRect.setHeight(1 - ownerRect.getStrokeWidth() * 2);
-           ownerRect.setWidth(1 - ownerRect.getStrokeWidth() * 2);
+           ownerRect.setHeight(1 - ownerRect.getStrokeWidth() * 2).
+           ownerRect.setWidth(1 - ownerRect.getStrokeWidth() * 2).

-           getChildren().add(ownerRect);
+           getChildren().add(ownerRect).
        }
    }

    @Override
    public void setMuleDraw(MuleType mule) {
-       this.mule = mule;
+       this.mule = mule.
        if (this.terrain != TerrainType.NULL) {
            if (muleRect != null) {
-               this.getChildren().remove(muleRect);
+               this.getChildren().remove(muleRect).
            }
-           muleRect = new Rectangle(0.25, 0.25, 0.5, 0.5);
-           muleRect.setFill(Color.TRANSPARENT);
-           muleRect.setStroke(mule.color);
-           muleRect.setStrokeWidth(0.05);
+           muleRect = new Rectangle(0.25, 0.25, 0.5, 0.5).
+           muleRect.setFill(Color.TRANSPARENT).
+           muleRect.setStroke(mule.color).
+           muleRect.setStrokeWidth(0.05).

-           getChildren().add(muleRect);
+           getChildren().add(muleRect).
        }
    }

    @Override
    public TerrainType getTerrain() {
-       return terrain;
+       return terrain.
    }

    @Override
    public void setTerrain(TerrainType terrain) {
-       this.terrain = terrain;
+       this.terrain = terrain.
    }

    @Override
    public MuleType getMule() {
-       return mule;
+       return mule.
    }

    @Override
    public void setMule(MuleType mule) {
-       this.mule = mule;
+       this.mule = mule.
    }

    @Override
    public int hashCode() {
-       int hash = owner != null ? owner.hashCode() : 0;
-       hash = (hash << 8) ^ terrain.ordinal();
-       hash = (hash << 8) ^ mule.ordinal();
-       return hash;
+       int hash = owner != null ? owner.hashCode() : 0.
+       hash = (hash << 8) ^ terrain.ordinal().
+       hash = (hash << 8) ^ mule.ordinal().
+       return hash.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/GameState.java b/src/main/java/io/github/mountainrange/mule/managers/GameState.java
index d299839f8dad1c3b01453e54037f85dce4dcd2ed..e38aab08f6716e249b6992362b9a7f0404e2acc9 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/GameState.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/GameState.java
@@ -1,7 +1,7 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

-import io.github.mountainrange.mule.GameManager;
-import io.github.mountainrange.mule.gameplay.WorldMap;
+import io.github.mountainrange.mule.GameManager.
+import io.github.mountainrange.mule.gameplay.WorldMap.

 /**
  * A wrapper class that gives KeyFunctions information/access to the state of the game.
@@ -11,11 +11,11 @@ public class GameState {
     * We don't care too much about getters and setters here, since this is used
     * only once...
     */
-   public GameManager manager;
-   public WorldMap map;
+   public GameManager manager.
+   public WorldMap map.

    public GameState(GameManager m, WorldMap map) {
-       this.manager = m;
-       this.map = map;
+       this.manager = m.
+       this.map = map.
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/GameView.java b/src/main/java/io/github/mountainrange/mule/managers/GameView.java
index f8e078a7de4cec3b82ccad1ab4b4cad8896fa3b8..e0faafe497bd0a3808bd093a1e3e63587478d894 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/GameView.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/GameView.java
@@ -1,37 +1,37 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

-import io.github.mountainrange.mule.enums.GameType;
+import io.github.mountainrange.mule.enums.GameType.

 /**
  * Represents a state of the game where key bindings may be different.
  */
 public class GameView {
-   private GameType gameType;
-   private String sceneName;
-   private int phaseCount;
+   private GameType gameType.
+   private String sceneName.
+   private int phaseCount.

    public GameView(GameType gt, String sn, int phaseCount) {
-       this.gameType = gt;
-       this.sceneName = sn;
-       this.phaseCount = phaseCount;
+       this.gameType = gt.
+       this.sceneName = sn.
+       this.phaseCount = phaseCount.
    }

    @Override
    public int hashCode() {
        return (this.gameType.hashCode() + this.sceneName.hashCode() * 7
-               + this.phaseCount * 49);
+               + this.phaseCount * 49).
    }

    @Override
    public boolean equals(Object other) {
        if (other == null || !(other instanceof GameView)) {
-           return false;
+           return false.
        } else if (other == this) {
-           return true;
+           return true.
        } else {
-           GameView toCompare = (GameView) other;
+           GameView toCompare = (GameView) other.
            return (toCompare.gameType.equals(this.gameType) && toCompare.sceneName.equals(this.sceneName)
-                   && toCompare.phaseCount == this.phaseCount);
+                   && toCompare.phaseCount == this.phaseCount).
        }
    }
 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/KeyBindManager.java b/src/main/java/io/github/mountainrange/mule/managers/KeyBindManager.java
index 0d7291f9039e1ab73206278504f8b05efe45175b..78f39addee946be311713da1d52dfbbc0689e66e 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/KeyBindManager.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/KeyBindManager.java
@@ -1,19 +1,19 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.enums.GameType;
-import javafx.scene.input.KeyCode;
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.enums.GameType.
+import javafx.scene.input.KeyCode.

-import java.util.HashMap;
-import java.util.Map;
-import java.util.Arrays;
+import java.util.HashMap.
+import java.util.Map.
+import java.util.Arrays.

 public class KeyBindManager {
-   private Map<GameView, Map<KeyCode, KeyFunction>> keyMap;
+   private Map<GameView, Map<KeyCode, KeyFunction>> keyMap.

    public KeyBindManager() {
-       this(true);
+       this(true).
    }

    /**
@@ -22,9 +22,9 @@ public class KeyBindManager {
     * @param useDefaults whether to use default key bindings or not
     */
    public KeyBindManager(boolean useDefaults) {
-       keyMap = new HashMap<>();
+       keyMap = new HashMap<>().
        if (useDefaults) {
-           KeyBindManager.addDefaultBindings(this);
+           KeyBindManager.addDefaultBindings(this).
        }
    }

@@ -33,9 +33,9 @@ public class KeyBindManager {
     */
    public void add(GameView state, KeyCode toAdd, KeyFunction lambda) {
        if (!keyMap.containsKey(state)) {
-           keyMap.put(state, new HashMap<>());
+           keyMap.put(state, new HashMap<>()).
        }
-       keyMap.get(state).put(toAdd, lambda);
+       keyMap.get(state).put(toAdd, lambda).
    }

    /**
@@ -44,8 +44,8 @@ public class KeyBindManager {
     */
    public void add(GameType gt, String sn, Iterable<Integer> phaseCount, KeyCode toAdd, KeyFunction lambda) {
        phaseCount.forEach((input) -> {
-               this.add(gt, sn, input, toAdd, lambda);
-           });
+               this.add(gt, sn, input, toAdd, lambda).
+           }).
    }

    /**
@@ -54,8 +54,8 @@ public class KeyBindManager {
     */
    public void add(Iterable<GameType> gt, String sn, int phaseCount, KeyCode toAdd, KeyFunction lambda) {
        gt.forEach((input) -> {
-               this.add(input, sn, phaseCount, toAdd, lambda);
-           });
+               this.add(input, sn, phaseCount, toAdd, lambda).
+           }).
    }

    /**
@@ -64,16 +64,16 @@ public class KeyBindManager {
     */
    public void add(Iterable<GameType> gt, String sn, Iterable<Integer> phaseCount, KeyCode toAdd, KeyFunction lambda) {
        gt.forEach((input) -> {
-               this.add(input, sn, phaseCount, toAdd, lambda);
-           });
+               this.add(input, sn, phaseCount, toAdd, lambda).
+           }).
    }

    /**
     * An add method that takes in GameView Parts.
     */
    public void add(GameType gt, String sn, int phaseCount, KeyCode toAdd, KeyFunction lambda) {
-       GameView state = new GameView(gt, sn, phaseCount);
-       this.add(state, toAdd, lambda);
+       GameView state = new GameView(gt, sn, phaseCount).
+       this.add(state, toAdd, lambda).
    }

    /**
@@ -81,34 +81,34 @@ public class KeyBindManager {
     * @return The binding if is available, null if no binding was found
     */
    public KeyFunction getBinding(GameView state, KeyCode key) {
-       Map<KeyCode, KeyFunction> first = keyMap.get(state);
+       Map<KeyCode, KeyFunction> first = keyMap.get(state).
        if (first == null) {
            // No Game state found.
-           return null;
+           return null.
        }

-       return first.get(key);
+       return first.get(key).
    }

    public void handleKey(GameView state, KeyCode key, GameState datapacket) {
-       Map<KeyCode, KeyFunction> first = keyMap.get(state);
+       Map<KeyCode, KeyFunction> first = keyMap.get(state).
        if (first == null) {
            // No Game state found.
-           return;
+           return.
        }
-       KeyFunction second = first.get(key);
+       KeyFunction second = first.get(key).
        if (second == null) {
            // No Key In map
-           return;
+           return.
        }
-       second.act(datapacket);
+       second.act(datapacket).
    }

    /**
     * Clears all bindings from this manager
     */
    public void clear() {
-       this.keyMap.clear();
+       this.keyMap.clear().
    }

    /**
@@ -121,30 +121,30 @@ public class KeyBindManager {
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X,
                (a) -> {
                    if (a.manager.getCurrentPlayerNum() == 0) {
-                       a.manager.incrementTurn();
+                       a.manager.incrementTurn().
                    }
-                   return "Turn Incremented"; });
+                   return "Turn Incremented". }).
        // Player 2 Next Turn
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.O,
                (a) -> {
                    if (a.manager.getCurrentPlayerNum() == 1) {
-                       a.manager.incrementTurn();
+                       a.manager.incrementTurn().
                    }
-                   return "Turn Incremented"; });
+                   return "Turn Incremented". }).
        // Player 3 Next Turn
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.W,
                (a) -> {
                    if (a.manager.getCurrentPlayerNum() == 2) {
-                       a.manager.incrementTurn();
+                       a.manager.incrementTurn().
                    }
-                   return "Turn Incremented"; });
+                   return "Turn Incremented". }).
        // Player 3 Next Turn
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.COMMA,
                (a) -> {
                    if (a.manager.getCurrentPlayerNum() == 3) {
-                       a.manager.incrementTurn();
+                       a.manager.incrementTurn().
                    }
-                   return "Turn Incremented"; });
+                   return "Turn Incremented". }).

        // ----------------------------BUYING LAND-------------------------------

@@ -152,41 +152,41 @@ public class KeyBindManager {
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.SPACE,
                (a) -> {
                    if (Config.getInstance().numOfPlayers > 0) {
-                       a.manager.buyTile(a.manager.getPlayerList().get(0));
+                       a.manager.buyTile(a.manager.getPlayerList().get(0)).
                    }
-                   return "Bought land for Player 1"; });
+                   return "Bought land for Player 1". }).

        // Buy Land for Player 2
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.P,
                (a) -> {
                    if (Config.getInstance().numOfPlayers > 1) {
-                       a.manager.buyTile(a.manager.getPlayerList().get(1));
+                       a.manager.buyTile(a.manager.getPlayerList().get(1)).
                    }
-                   return "Bought land for Player 2"; });
+                   return "Bought land for Player 2". }).

        // Buy Land for Player 3
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.Q,
                (a) -> {
                    if (Config.getInstance().numOfPlayers > 2) {
-                       a.manager.buyTile(a.manager.getPlayerList().get(2));
+                       a.manager.buyTile(a.manager.getPlayerList().get(2)).
                    }
-                   return "Bought land for Player 3"; });
+                   return "Bought land for Player 3". }).

        // Buy Land for Player 4
        toBind.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.PERIOD,
                (a) -> {
                    if (Config.getInstance().numOfPlayers > 3) {
-                       a.manager.buyTile(a.manager.getPlayerList().get(3));
+                       a.manager.buyTile(a.manager.getPlayerList().get(3)).
                    }
-                   return "Bought land for Player 4"; });
+                   return "Bought land for Player 4". }).

        // ----------------------------Hotseat Hacks-------------------------------

        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X,
                (a) -> {
-                   a.manager.pass();
-                   return "Bought land for Player 4"; });
+                   a.manager.pass().
+                   return "Bought land for Player 4". }).

@@ -194,54 +194,54 @@ public class KeyBindManager {

        toBind.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, Arrays.asList(0, 1), KeyCode.SPACE,
                (a) -> {
-                   a.manager.buyTile();
-                   return "Bought Tile"; });
+                   a.manager.buyTile().
+                   return "Bought Tile". }).

        // ----------------------------Movement Keys-------------------------------
        // Moving Up
        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.UP,
                (a) -> {
-                   a.map.selectUp();
-                   return "Moved Up"; });
+                   a.map.selectUp().
+                   return "Moved Up". }).
        toBind.add(Arrays.asList(GameType.HOTSEAT, GameType.SIMULTANEOUS), MULE.PLAY_SCENE, 1, KeyCode.UP,
                (a) -> {
-                   a.map.selectUp();
-                   return "Moved Up"; });
+                   a.map.selectUp().
+                   return "Moved Up". }).

        // Moving Down
        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.DOWN,
                (a) -> {
-                   a.map.selectDown();
-                   return "Moved Down"; });
+                   a.map.selectDown().
+                   return "Moved Down". }).
        toBind.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, 1, KeyCode.DOWN,
                (a) -> {
-                   a.map.selectDown();
-                   return "Moved Down"; });
+                   a.map.selectDown().
+                   return "Moved Down". }).

        // Moving Left
        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.LEFT,
                (a) -> {
-                   a.map.selectLeft();
-                   return "Moved Left"; });
+                   a.map.selectLeft().
+                   return "Moved Left". }).
        toBind.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, 1, KeyCode.LEFT,
                (a) -> {
-                   a.map.selectLeft();
-                   return "Moved Left"; });
+                   a.map.selectLeft().
+                   return "Moved Left". }).
        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 1), KeyCode.LEFT,
                (a) -> {
-                   a.map.selectLeft();
-                   return "Moved Left"; });
+                   a.map.selectLeft().
+                   return "Moved Left". }).

        // Moving Right
        toBind.add(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.RIGHT,
                (a) -> {
-                   a.map.selectRight();
-                   return "Moved Right"; });
+                   a.map.selectRight().
+                   return "Moved Right". }).
        toBind.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, 1, KeyCode.RIGHT,
                (a) -> {
-                   a.map.selectRight();
-                   return "Moved Right"; });
+                   a.map.selectRight().
+                   return "Moved Right". }).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/KeyFunction.java b/src/main/java/io/github/mountainrange/mule/managers/KeyFunction.java
index d9046d2290c36df164b426014b1e78fbf24a92c4..04e136f80b8ba1aff67e3f52b755fbedf0d663d1 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/KeyFunction.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/KeyFunction.java
@@ -1,9 +1,9 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

 /**
  * A interface that represents a lambda that handles key presses.
  */
 @FunctionalInterface
 public interface KeyFunction {
-   String act(GameState m);
+   String act(GameState m).
 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/ProductionManager.java b/src/main/java/io/github/mountainrange/mule/managers/ProductionManager.java
index 86e2c7fce04918c2765212cda24c0a0b71c62d94..981292b82df9fe9d81dc7875375de4b5fa12ebf1 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/ProductionManager.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/ProductionManager.java
@@ -1,14 +1,14 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

-import io.github.mountainrange.mule.enums.MuleType;
-import io.github.mountainrange.mule.enums.ResourceType;
-import io.github.mountainrange.mule.enums.TerrainType;
-import io.github.mountainrange.mule.gameplay.Player;
-import io.github.mountainrange.mule.gameplay.ProductionResult;
-import io.github.mountainrange.mule.gameplay.Tile;
-import io.github.mountainrange.mule.gameplay.WorldMap;
+import io.github.mountainrange.mule.enums.MuleType.
+import io.github.mountainrange.mule.enums.ResourceType.
+import io.github.mountainrange.mule.enums.TerrainType.
+import io.github.mountainrange.mule.gameplay.Player.
+import io.github.mountainrange.mule.gameplay.ProductionResult.
+import io.github.mountainrange.mule.gameplay.Tile.
+import io.github.mountainrange.mule.gameplay.WorldMap.

-import java.util.*;
+import java.util.*.

 /**
  * Responsible for computing production, spoilage, etc.
@@ -16,11 +16,11 @@ import java.util.*;
 public class ProductionManager {

    /** Base production of each resource on each terrain type. */
-   private static final EnumMap<TerrainType, EnumMap<ResourceType, Integer>> BASE_PRODUCTION;
+   private static final EnumMap<TerrainType, EnumMap<ResourceType, Integer>> BASE_PRODUCTION.
    /** Map from resource to the type of MULE that produces it. */
-   private static final EnumMap<ResourceType, MuleType> MULE_PRODUCED_BY;
+   private static final EnumMap<ResourceType, MuleType> MULE_PRODUCED_BY.
    /** Map from MULE to resource it produces. */
-   private static final EnumMap<MuleType, ResourceType> PRODUCES_RESOURCE;
+   private static final EnumMap<MuleType, ResourceType> PRODUCES_RESOURCE.

    /**
     * Calculate production for the given players on the given map on the given round number.
@@ -32,33 +32,33 @@ public class ProductionManager {
    public static Map<Player, EnumMap<ResourceType, ProductionResult>> calculateProduction(WorldMap map, List<Player>
            playerList, int round) {
        if (round < 0) {
-           String msg = String.format("Can't calculate production for round %d: negative round", round);
-           throw new IllegalArgumentException(msg);
+           String msg = String.format("Can't calculate production for round %d: negative round", round).
+           throw new IllegalArgumentException(msg).
        }

-       Map<Player, EnumMap<ResourceType, ProductionResult>> productionResult = new HashMap<>();
+       Map<Player, EnumMap<ResourceType, ProductionResult>> productionResult = new HashMap<>().

        for (Player player : playerList) {
-           EnumMap<ResourceType, ProductionResult> playerProduction = new EnumMap<>(ResourceType.class);
+           EnumMap<ResourceType, ProductionResult> playerProduction = new EnumMap<>(ResourceType.class).
            for (ResourceType resource : ResourceType.values()) {
-               int usage = usageOf(resource, player, map, round);
-               int requirement = usageOf(resource, player, map, round + 1);
-               int spoilage = spoilageOf(resource, player.stockOf(resource), requirement);
+               int usage = usageOf(resource, player, map, round).
+               int requirement = usageOf(resource, player, map, round + 1).
+               int spoilage = spoilageOf(resource, player.stockOf(resource), requirement).

-               int production = 0;
-               Set<Tile> producingTiles = map.tilesWithMule(player, muleProducedBy(resource));
+               int production = 0.
+               Set<Tile> producingTiles = map.tilesWithMule(player, muleProducedBy(resource)).
                for (Tile tile : producingTiles) {
-                   production += baseProductionOf(tile.getTerrain(), resource);
+                   production += baseProductionOf(tile.getTerrain(), resource).
                }

                // TODO: Economies of scale and learning curve bonuses
-               ProductionResult resourceProduction = new ProductionResult(usage, spoilage, production, requirement);
-               playerProduction.put(resource, resourceProduction);
+               ProductionResult resourceProduction = new ProductionResult(usage, spoilage, production, requirement).
+               playerProduction.put(resource, resourceProduction).
            }
-           productionResult.put(player, playerProduction);
+           productionResult.put(player, playerProduction).
        }

-       return productionResult;
+       return productionResult.
    }

    /**
@@ -72,15 +72,15 @@ public class ProductionManager {
    private static int usageOf(ResourceType resource, Player player, WorldMap map, int round) {
        if (resource == ResourceType.FOOD) {
            // Food usage starts at 3 and increases every 4 rounds
-           return round / 4 + 3;
+           return round / 4 + 3.
        } else if (resource == ResourceType.ENERGY) {
            // Energy used depends on number of food, smithore, and crystite MULEs installed
            return map.countTilesWithMule(player, MuleType.FOOD_MULE) + map.countTilesWithMule(player,
-                   MuleType.SMITHORE_MULE) + map.countTilesWithMule(player, MuleType.CRYSTITE_MULE);
+                   MuleType.SMITHORE_MULE) + map.countTilesWithMule(player, MuleType.CRYSTITE_MULE).
        }

        // No smithore or crystite is used for upkeep
-       return 0;
+       return 0.
    }

    /**
@@ -93,18 +93,18 @@ public class ProductionManager {
        if (resource == ResourceType.FOOD) {
            if (quantity > requirement + 1) {
                // Half the food spoils if there is more than requirement + 1 food
-               return quantity / 2;
+               return quantity / 2.
            } else {
                // No food spoils if there is less than requirement + 1 food
-               return 0;
+               return 0.
            }
        } else if (resource == ResourceType.ENERGY) {
            // One quarter of energy spoils
-           return quantity / 4;
+           return quantity / 4.
        }

        // Smithore and crystite only spoil if there are more than 50 units
-       return Math.max(quantity - 50, 0);
+       return Math.max(quantity - 50, 0).
    }

    /**
@@ -114,7 +114,7 @@ public class ProductionManager {
     * @return base production of the given resource on the given terrain
     */
    private static int baseProductionOf(TerrainType terrain, ResourceType resource) {
-       return BASE_PRODUCTION.get(terrain).get(resource);
+       return BASE_PRODUCTION.get(terrain).get(resource).
    }

    /**
@@ -123,7 +123,7 @@ public class ProductionManager {
     * @return MuleType for the given resource
     */
    public static MuleType muleProducedBy(ResourceType resource) {
-       return MULE_PRODUCED_BY.get(resource);
+       return MULE_PRODUCED_BY.get(resource).
    }

    /**
@@ -132,7 +132,7 @@ public class ProductionManager {
     * @return ResourceType for the given MULE
     */
    public static ResourceType producesResource(MuleType mule) {
-       return PRODUCES_RESOURCE.get(mule);
+       return PRODUCES_RESOURCE.get(mule).
    }

    /**
@@ -145,57 +145,57 @@ public class ProductionManager {
     */
    protected static int bound(int quantity, int min, int max) {
        if (min > max) {
-           String msg = String.format("Can't bound %d by %d and %d: min > max", quantity, min, max);
-           throw new IllegalArgumentException(msg);
+           String msg = String.format("Can't bound %d by %d and %d: min > max", quantity, min, max).
+           throw new IllegalArgumentException(msg).
        }
-       return Math.min(min, Math.max(quantity, max));
+       return Math.min(min, Math.max(quantity, max)).
    }

    static {
        // Hard-coded base production quantities for each terrain type and resource
-       BASE_PRODUCTION = new EnumMap<>(TerrainType.class);
-
-       EnumMap<ResourceType, Integer> plainProduction = new EnumMap<>(ResourceType.class);
-       plainProduction.put(ResourceType.FOOD, 2);
-       plainProduction.put(ResourceType.ENERGY, 3);
-       plainProduction.put(ResourceType.SMITHORE, 1);
-       plainProduction.put(ResourceType.CRYSTITE, 0);
-
-       EnumMap<ResourceType, Integer> riverProduction = new EnumMap<>(ResourceType.class);
-       riverProduction.put(ResourceType.FOOD, 4);
-       riverProduction.put(ResourceType.ENERGY, 2);
-       riverProduction.put(ResourceType.SMITHORE, 0);
-       riverProduction.put(ResourceType.CRYSTITE, 0);
-
-       EnumMap<ResourceType, Integer> mountain1Production = new EnumMap<>(ResourceType.class);
-       mountain1Production.put(ResourceType.FOOD, 1);
-       mountain1Production.put(ResourceType.ENERGY, 1);
-       mountain1Production.put(ResourceType.CRYSTITE, 0);
-
-       EnumMap<ResourceType, Integer> mountain2Production = new EnumMap<>(mountain1Production);
-       EnumMap<ResourceType, Integer> mountain3Production = new EnumMap<>(mountain1Production);
-
-       mountain1Production.put(ResourceType.SMITHORE, 2);
-       mountain2Production.put(ResourceType.SMITHORE, 3);
-       mountain3Production.put(ResourceType.SMITHORE, 4);
-
-       BASE_PRODUCTION.put(TerrainType.PLAIN, plainProduction);
-       BASE_PRODUCTION.put(TerrainType.RIVER, riverProduction);
-       BASE_PRODUCTION.put(TerrainType.MOUNTAIN1, mountain1Production);
-       BASE_PRODUCTION.put(TerrainType.MOUNTAIN2, mountain2Production);
-       BASE_PRODUCTION.put(TerrainType.MOUNTAIN3, mountain3Production);
-
-       MULE_PRODUCED_BY = new EnumMap<>(ResourceType.class);
-       MULE_PRODUCED_BY.put(ResourceType.FOOD, MuleType.FOOD_MULE);
-       MULE_PRODUCED_BY.put(ResourceType.ENERGY, MuleType.ENERGY_MULE);
-       MULE_PRODUCED_BY.put(ResourceType.SMITHORE, MuleType.SMITHORE_MULE);
-       MULE_PRODUCED_BY.put(ResourceType.CRYSTITE, MuleType.CRYSTITE_MULE);
-
-       PRODUCES_RESOURCE = new EnumMap<>(MuleType.class);
-       PRODUCES_RESOURCE.put(MuleType.FOOD_MULE, ResourceType.FOOD);
-       PRODUCES_RESOURCE.put(MuleType.ENERGY_MULE, ResourceType.ENERGY);
-       PRODUCES_RESOURCE.put(MuleType.SMITHORE_MULE, ResourceType.SMITHORE);
-       PRODUCES_RESOURCE.put(MuleType.CRYSTITE_MULE, ResourceType.CRYSTITE);
+       BASE_PRODUCTION = new EnumMap<>(TerrainType.class).
+
+       EnumMap<ResourceType, Integer> plainProduction = new EnumMap<>(ResourceType.class).
+       plainProduction.put(ResourceType.FOOD, 2).
+       plainProduction.put(ResourceType.ENERGY, 3).
+       plainProduction.put(ResourceType.SMITHORE, 1).
+       plainProduction.put(ResourceType.CRYSTITE, 0).
+
+       EnumMap<ResourceType, Integer> riverProduction = new EnumMap<>(ResourceType.class).
+       riverProduction.put(ResourceType.FOOD, 4).
+       riverProduction.put(ResourceType.ENERGY, 2).
+       riverProduction.put(ResourceType.SMITHORE, 0).
+       riverProduction.put(ResourceType.CRYSTITE, 0).
+
+       EnumMap<ResourceType, Integer> mountain1Production = new EnumMap<>(ResourceType.class).
+       mountain1Production.put(ResourceType.FOOD, 1).
+       mountain1Production.put(ResourceType.ENERGY, 1).
+       mountain1Production.put(ResourceType.CRYSTITE, 0).
+
+       EnumMap<ResourceType, Integer> mountain2Production = new EnumMap<>(mountain1Production).
+       EnumMap<ResourceType, Integer> mountain3Production = new EnumMap<>(mountain1Production).
+
+       mountain1Production.put(ResourceType.SMITHORE, 2).
+       mountain2Production.put(ResourceType.SMITHORE, 3).
+       mountain3Production.put(ResourceType.SMITHORE, 4).
+
+       BASE_PRODUCTION.put(TerrainType.PLAIN, plainProduction).
+       BASE_PRODUCTION.put(TerrainType.RIVER, riverProduction).
+       BASE_PRODUCTION.put(TerrainType.MOUNTAIN1, mountain1Production).
+       BASE_PRODUCTION.put(TerrainType.MOUNTAIN2, mountain2Production).
+       BASE_PRODUCTION.put(TerrainType.MOUNTAIN3, mountain3Production).
+
+       MULE_PRODUCED_BY = new EnumMap<>(ResourceType.class).
+       MULE_PRODUCED_BY.put(ResourceType.FOOD, MuleType.FOOD_MULE).
+       MULE_PRODUCED_BY.put(ResourceType.ENERGY, MuleType.ENERGY_MULE).
+       MULE_PRODUCED_BY.put(ResourceType.SMITHORE, MuleType.SMITHORE_MULE).
+       MULE_PRODUCED_BY.put(ResourceType.CRYSTITE, MuleType.CRYSTITE_MULE).
+
+       PRODUCES_RESOURCE = new EnumMap<>(MuleType.class).
+       PRODUCES_RESOURCE.put(MuleType.FOOD_MULE, ResourceType.FOOD).
+       PRODUCES_RESOURCE.put(MuleType.ENERGY_MULE, ResourceType.ENERGY).
+       PRODUCES_RESOURCE.put(MuleType.SMITHORE_MULE, ResourceType.SMITHORE).
+       PRODUCES_RESOURCE.put(MuleType.CRYSTITE_MULE, ResourceType.CRYSTITE).
    }

 }
diff --git a/src/main/java/io/github/mountainrange/mule/managers/RandomEventManager.java b/src/main/java/io/github/mountainrange/mule/managers/RandomEventManager.java
index c23816a95adfbe190839d57d53fa0fc3705e94f0..795bb4d93880fef3d5ad8e6cef6a885a693b86b8 100644
--- a/src/main/java/io/github/mountainrange/mule/managers/RandomEventManager.java
+++ b/src/main/java/io/github/mountainrange/mule/managers/RandomEventManager.java
@@ -1,26 +1,26 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

-import io.github.mountainrange.mule.Config;
-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.enums.GameType;
-import io.github.mountainrange.mule.enums.MessageType;
-import javafx.scene.input.KeyCode;
+import io.github.mountainrange.mule.Config.
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.enums.GameType.
+import io.github.mountainrange.mule.enums.MessageType.
+import javafx.scene.input.KeyCode.

-import java.util.Arrays;
-import java.util.function.Function;
-import java.util.Collections;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Random;
+import java.util.Arrays.
+import java.util.function.Function.
+import java.util.Collections.
+import java.util.List.
+import java.util.ArrayList.
+import java.util.Random.

 public class RandomEventManager {
-   private ArrayList<Function<GameState, String>> events;
-   private ArrayList<Function<GameState, String>> goodEvents;
+   private ArrayList<Function<GameState, String>> events.
+   private ArrayList<Function<GameState, String>> goodEvents.

-   private static final Random r = new Random();
+   private static final Random r = new Random().

    public RandomEventManager() {
-       this(true);
+       this(true).
    }

    /**
@@ -29,11 +29,11 @@ public class RandomEventManager {
     * @param useDefaults whether to use default key bindings or not
     */
    public RandomEventManager(boolean useDefaults) {
-       events = new ArrayList<>();
-       goodEvents = new ArrayList<>();
+       events = new ArrayList<>().
+       goodEvents = new ArrayList<>().

        if (useDefaults) {
-           RandomEventManager.addDefaultEvents(this);
+           RandomEventManager.addDefaultEvents(this).
        }
    }

@@ -43,7 +43,7 @@ public class RandomEventManager {
     * @param toAdd the lambda expression to add
     */
    public void addEvent(Function<GameState, String> toAdd) {
-       events.add(toAdd);
+       events.add(toAdd).
    }

    /**
@@ -54,8 +54,8 @@ public class RandomEventManager {
     * @param toAdd the lambda expression to add
     */
    public void addGoodEvent(Function<GameState, String> toAdd) {
-       events.add(toAdd);
-       goodEvents.add(toAdd);
+       events.add(toAdd).
+       goodEvents.add(toAdd).
    }

@@ -64,7 +64,7 @@ public class RandomEventManager {
     * @return The binding if is available, null if no binding was found
     */
    public List<Function<GameState, String>> getBindings(boolean onlyGood) {
-       return (onlyGood ? Collections.unmodifiableList(goodEvents) : Collections.unmodifiableList(events));
+       return (onlyGood ? Collections.unmodifiableList(goodEvents) : Collections.unmodifiableList(events)).
    }

    /**
@@ -74,9 +74,9 @@ public class RandomEventManager {
     */
    public void runRandomEvent(GameState datapacket, boolean lowestPlayer) {
        if (!lowestPlayer) {
-           events.get(r.nextInt(events.size())).apply(datapacket);
+           events.get(r.nextInt(events.size())).apply(datapacket).
        } else {
-           goodEvents.get(r.nextInt(goodEvents.size())).apply(datapacket);
+           goodEvents.get(r.nextInt(goodEvents.size())).apply(datapacket).
        }
    }

@@ -84,8 +84,8 @@ public class RandomEventManager {
     * Clears all bindings from this manager
     */
    public void clear() {
-       this.events.clear();
-       this.goodEvents.clear();
+       this.events.clear().
+       this.goodEvents.clear().
    }

    /**
@@ -94,60 +94,60 @@ public class RandomEventManager {
    public static void addDefaultEvents(RandomEventManager toBind) {
        // Add all events
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.LOSEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Lose 1 food";
-           });
+               MessageType msg = MessageType.LOSEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Lose 1 food".
+           }).
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.LOSESOMEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Lose 25% of your food";
-           });
+               MessageType msg = MessageType.LOSESOMEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Lose 25% of your food".
+           }).
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.LOSEHALFFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Lose half of your food";
-           });
+               MessageType msg = MessageType.LOSEHALFFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Lose half of your food".
+           }).
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.GAINFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 1 food";
-           });
+               MessageType msg = MessageType.GAINFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 1 food".
+           }).
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.GAINSOMEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 50% of your food";
-           });
+               MessageType msg = MessageType.GAINSOMEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 50% of your food".
+           }).
        toBind.addEvent((state) -> {
-               MessageType msg = MessageType.GAINDOUBLEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 100% of your food";
-           });
+               MessageType msg = MessageType.GAINDOUBLEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 100% of your food".
+           }).

        // Add good events
        toBind.addGoodEvent((state) -> {
-               MessageType msg = MessageType.GAINFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 1 food";
-           });
+               MessageType msg = MessageType.GAINFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 1 food".
+           }).
        toBind.addGoodEvent((state) -> {
-               MessageType msg = MessageType.GAINSOMEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 50% of your food";
-           });
+               MessageType msg = MessageType.GAINSOMEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 50% of your food".
+           }).
        toBind.addGoodEvent((state) -> {
-               MessageType msg = MessageType.GAINDOUBLEFOOD;
-               state.manager.showTempText(msg);
-               state.manager.decreaseFood(msg);
-               return "Gain 100% of your food";
-           });
+               MessageType msg = MessageType.GAINDOUBLEFOOD.
+               state.manager.showTempText(msg).
+               state.manager.decreaseFood(msg).
+               return "Gain 100% of your food".
+           }).
    }
 }
diff --git a/src/test/java/io/github/mountainrange/mule/BasicTest.java b/src/test/java/io/github/mountainrange/mule/BasicTest.java
index f3c2e552fc0cdeada35a216cefebf6e33bdf809a..63266a8e817940c457b06fc3da914dad07a80bf9 100644
--- a/src/test/java/io/github/mountainrange/mule/BasicTest.java
+++ b/src/test/java/io/github/mountainrange/mule/BasicTest.java
@@ -1,8 +1,8 @@
-package io.github.mountainrange.mule;
+package io.github.mountainrange.mule.

-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals.
+import static org.junit.Assert.assertTrue.
+import org.junit.Test.

 /**
@@ -15,7 +15,7 @@ public class BasicTest {
      */
     @Test
     public void testTrue() {
-        assertEquals(2, 2);
+        assertEquals(2, 2).
     }

 }
diff --git a/src/test/java/io/github/mountainrange/mule/gameplay/ShopTest.java b/src/test/java/io/github/mountainrange/mule/gameplay/ShopTest.java
index 8c9be0f817e5a0743053eb07efb5f9583b8b2eb1..2e65a991e376c989261587e43df870493725d998 100644
--- a/src/test/java/io/github/mountainrange/mule/gameplay/ShopTest.java
+++ b/src/test/java/io/github/mountainrange/mule/gameplay/ShopTest.java
@@ -1,12 +1,12 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

 // Junit Imports
-import io.github.mountainrange.mule.enums.Difficulty;
-import org.junit.*;
-import org.junit.rules.Timeout;
+import io.github.mountainrange.mule.enums.Difficulty.
+import org.junit.*.
+import org.junit.rules.Timeout.

-import static org.junit.Assert.*;
-import java.util.*;
+import static org.junit.Assert.*.
+import java.util.*.

 /**
@@ -15,35 +15,35 @@ import java.util.*;
 public class ShopTest {

    @Rule
-   public Timeout timeout = new Timeout(2000);
+   public Timeout timeout = new Timeout(2000).

-   private Shop hillShop;
+   private Shop hillShop.

    @Before
    public void setup() {
-       hillShop = new Shop(Difficulty.HILL);
+       hillShop = new Shop(Difficulty.HILL).
    }

    @Test(expected = IllegalArgumentException.class)
    public void testGamblingProfitNegativeValues() {
-       Shop.gamblingProfit(-1, -1);
+       Shop.gamblingProfit(-1, -1).
    }

    @Test
    public void testBaseGamblingProfit() {
        // Copied from gambling table: http://bringerp.free.fr/RE/Mule/reverseEngineering.php5#GamblingAtThePub
-       assertEquals(50, Shop.gamblingProfit(0, 0));
-       assertEquals(50, Shop.gamblingProfit(1, 0));
-       assertEquals(50, Shop.gamblingProfit(2, 0));
-       assertEquals(100, Shop.gamblingProfit(3, 0));
-       assertEquals(100, Shop.gamblingProfit(4, 0));
-       assertEquals(100, Shop.gamblingProfit(5, 0));
-       assertEquals(100, Shop.gamblingProfit(6, 0));
-       assertEquals(150, Shop.gamblingProfit(7, 0));
-       assertEquals(150, Shop.gamblingProfit(8, 0));
-       assertEquals(150, Shop.gamblingProfit(9, 0));
-       assertEquals(150, Shop.gamblingProfit(10, 0));
-       assertEquals(200, Shop.gamblingProfit(11, 0));
+       assertEquals(50, Shop.gamblingProfit(0, 0)).
+       assertEquals(50, Shop.gamblingProfit(1, 0)).
+       assertEquals(50, Shop.gamblingProfit(2, 0)).
+       assertEquals(100, Shop.gamblingProfit(3, 0)).
+       assertEquals(100, Shop.gamblingProfit(4, 0)).
+       assertEquals(100, Shop.gamblingProfit(5, 0)).
+       assertEquals(100, Shop.gamblingProfit(6, 0)).
+       assertEquals(150, Shop.gamblingProfit(7, 0)).
+       assertEquals(150, Shop.gamblingProfit(8, 0)).
+       assertEquals(150, Shop.gamblingProfit(9, 0)).
+       assertEquals(150, Shop.gamblingProfit(10, 0)).
+       assertEquals(200, Shop.gamblingProfit(11, 0)).
    }

 }
diff --git a/src/test/java/io/github/mountainrange/mule/gameplay/VisualGridTest.java b/src/test/java/io/github/mountainrange/mule/gameplay/VisualGridTest.java
index 1b10128c3df381fad9e0767575dadfc4690e9d62..9c006822760630b988003d2f2b853079f0a0bf80 100644
--- a/src/test/java/io/github/mountainrange/mule/gameplay/VisualGridTest.java
+++ b/src/test/java/io/github/mountainrange/mule/gameplay/VisualGridTest.java
@@ -1,26 +1,26 @@
-package io.github.mountainrange.mule.gameplay;
+package io.github.mountainrange.mule.gameplay.

 // Junit Imports
-import io.github.mountainrange.mule.gameplay.javafx.VisualTile;
-import io.github.mountainrange.mule.gameplay.javafx.VisualTile;
-import io.github.mountainrange.mule.gameplay.javafx.VisualGrid;
-import org.junit.*;
-import static org.junit.Assert.*;
-import org.junit.rules.Timeout;
-
-import io.github.mountainrange.mule.enums.MapSize;
-import io.github.mountainrange.mule.enums.MapType;
-import io.github.mountainrange.mule.enums.TerrainType;
-
-import javafx.scene.layout.Pane;
-import javafx.scene.Node;
-import javafx.beans.property.SimpleListProperty;
-import javafx.collections.ObservableList;
-import com.sun.javafx.collections.TrackableObservableList;
-import com.sun.javafx.collections.VetoableListDecorator;
-import javafx.collections.ListChangeListener.Change;
-
-import java.util.List;
+import io.github.mountainrange.mule.gameplay.javafx.VisualTile.
+import io.github.mountainrange.mule.gameplay.javafx.VisualTile.
+import io.github.mountainrange.mule.gameplay.javafx.VisualGrid.
+import org.junit.*.
+import static org.junit.Assert.*.
+import org.junit.rules.Timeout.
+
+import io.github.mountainrange.mule.enums.MapSize.
+import io.github.mountainrange.mule.enums.MapType.
+import io.github.mountainrange.mule.enums.TerrainType.
+
+import javafx.scene.layout.Pane.
+import javafx.scene.Node.
+import javafx.beans.property.SimpleListProperty.
+import javafx.collections.ObservableList.
+import com.sun.javafx.collections.TrackableObservableList.
+import com.sun.javafx.collections.VetoableListDecorator.
+import javafx.collections.ListChangeListener.Change.
+
+import java.util.List.

 /**
  * A class to test the visual Grid
@@ -28,82 +28,82 @@ import java.util.List;
 public class VisualGridTest {

    @Rule
-   public Timeout timeout = new Timeout(10000);
+   public Timeout timeout = new Timeout(10000).

-   private VisualGrid<VisualTile> grid;
-   private Pane upperPane;
+   private VisualGrid<VisualTile> grid.
+   private Pane upperPane.

    @Before
    public void setup() {
        // Run for every test.
-       this.upperPane = new TestPane();
-       this.grid = new VisualGrid<>(9, 5, MapType.EMPTY, MapSize.ALPS, upperPane);
+       this.upperPane = new TestPane().
+       this.grid = new VisualGrid<>(9, 5, MapType.EMPTY, MapSize.ALPS, upperPane).
    }

    @Test @SuppressWarnings("deprecated") // We need this for tests
    public void basicAddTest() {
-       VisualTile input = new VisualTile(TerrainType.NULL);
-       grid.add(input, 2, 3);
-       VisualTile output = grid.get(2, 3);
-       VisualTile empty = grid.get(2, 4);
-       assertEquals(input, output);
-       assertNull(empty);
+       VisualTile input = new VisualTile(TerrainType.NULL).
+       grid.add(input, 2, 3).
+       VisualTile output = grid.get(2, 3).
+       VisualTile empty = grid.get(2, 4).
+       assertEquals(input, output).
+       assertNull(empty).
    }

    @Test @SuppressWarnings("deprecated") // We need this for tests
    public void testRemove() {
-       VisualTile input = new VisualTile(TerrainType.NULL);
-       VisualTile input2 = new VisualTile(TerrainType.NULL);
-       grid.add(input, 5, 3);
-       grid.add(input2, 8, 2);
-       VisualTile output = grid.get(5, 3);
-       VisualTile output2 = grid.get(8, 2);
-       VisualTile empty = grid.get(2, 4);
+       VisualTile input = new VisualTile(TerrainType.NULL).
+       VisualTile input2 = new VisualTile(TerrainType.NULL).
+       grid.add(input, 5, 3).
+       grid.add(input2, 8, 2).
+       VisualTile output = grid.get(5, 3).
+       VisualTile output2 = grid.get(8, 2).
+       VisualTile empty = grid.get(2, 4).
        // Check everything was added
-       assertEquals(input, output);
-       assertEquals(input2, output2);
-       assertNull(empty);
+       assertEquals(input, output).
+       assertEquals(input2, output2).
+       assertNull(empty).

-       grid.remove(5, 3);
+       grid.remove(5, 3).

-       output = grid.get(5, 3);
-       output2= grid.get(8, 2);
+       output = grid.get(5, 3).
+       output2= grid.get(8, 2).

        // Check if the removed tile was indeed removed
-       empty = grid.get(2, 4);
-       assertNull(output);
-       assertEquals(input2, output2);
-       assertNull(empty);
+       empty = grid.get(2, 4).
+       assertNull(output).
+       assertEquals(input2, output2).
+       assertNull(empty).

    }

    @Test @SuppressWarnings("deprecated") // We need this for tests
    public void basicSelectionTest() {
-       assertEquals(-1, grid.getCursorX());
-       assertEquals(-1, grid.getCursorY());
+       assertEquals(-1, grid.getCursorX()).
+       assertEquals(-1, grid.getCursorY()).

-       grid.select(1, 2);
-       assertEquals(1, grid.getCursorX());
-       assertEquals(2, grid.getCursorY());
+       grid.select(1, 2).
+       assertEquals(1, grid.getCursorX()).
+       assertEquals(2, grid.getCursorY()).
    }

    @Test @SuppressWarnings("deprecated") // We need this for tests
    public void basicMoveTest() {
-       VisualTile input = new VisualTile(TerrainType.NULL);
-       grid.add(input, 2, 3);
-       VisualTile output = grid.get(2, 3);
-       VisualTile empty = grid.get(2, 4);
-       assertEquals(input, output);
-       assertNull(empty);
-
-       grid.move(2, 3, 5, 3);
-       output = grid.get(5, 3);
-       empty = grid.get(2, 4);
-       VisualTile empty2 = grid.get(2, 3);
-       assertEquals(input, output);
-       assertNull(empty);
-       assertNull(empty2);
+       VisualTile input = new VisualTile(TerrainType.NULL).
+       grid.add(input, 2, 3).
+       VisualTile output = grid.get(2, 3).
+       VisualTile empty = grid.get(2, 4).
+       assertEquals(input, output).
+       assertNull(empty).
+
+       grid.move(2, 3, 5, 3).
+       output = grid.get(5, 3).
+       empty = grid.get(2, 4).
+       VisualTile empty2 = grid.get(2, 3).
+       assertEquals(input, output).
+       assertNull(empty).
+       assertNull(empty2).
    }

    // A pane that isn't a real pane and won't open a window
@@ -124,14 +124,14 @@ public class VisualGridTest {
                private String constructExceptionMessage(
                    String cause, Node offendingNode) {

-                   return "This error was part of the VisualGridTest junit and should be fixed";
+                   return "This error was part of the VisualGridTest junit and should be fixed".
                }
-           };
+           }.

-       private ObservableList<Node> testList = new SimpleListProperty<>();
+       private ObservableList<Node> testList = new SimpleListProperty<>().

        public ObservableList<Node> getChildren() {
-           return children;
+           return children.
        }
    }
 }
diff --git a/src/test/java/io/github/mountainrange/mule/managers/KeyManagerTest.java b/src/test/java/io/github/mountainrange/mule/managers/KeyManagerTest.java
index c8c4658a7f7e73915381335b317694b73a9a41f9..6e79bf79d7a35a89199056b834ee75e7f8649033 100644
--- a/src/test/java/io/github/mountainrange/mule/managers/KeyManagerTest.java
+++ b/src/test/java/io/github/mountainrange/mule/managers/KeyManagerTest.java
@@ -1,16 +1,16 @@
-package io.github.mountainrange.mule.managers;
+package io.github.mountainrange.mule.managers.

 // Junit Imports
-import org.junit.*;
-import static org.junit.Assert.*;
-import org.junit.rules.Timeout;
+import org.junit.*.
+import static org.junit.Assert.*.
+import org.junit.rules.Timeout.

-import io.github.mountainrange.mule.MULE;
-import io.github.mountainrange.mule.enums.GameType;
-import io.github.mountainrange.mule.managers.KeyBindManager;
+import io.github.mountainrange.mule.MULE.
+import io.github.mountainrange.mule.enums.GameType.
+import io.github.mountainrange.mule.managers.KeyBindManager.

-import java.util.*;
-import javafx.scene.input.KeyCode;
+import java.util.*.
+import javafx.scene.input.KeyCode.

 /**
@@ -19,20 +19,20 @@ import javafx.scene.input.KeyCode;
 public class KeyManagerTest {

    @Rule
-   public Timeout timeout = new Timeout(2000);
+   public Timeout timeout = new Timeout(2000).

-   private KeyBindManager keyManager;
+   private KeyBindManager keyManager.

    @Before
    public void setup() {
        // Run for every test.
-       this.keyManager = new KeyBindManager(false);
+       this.keyManager = new KeyBindManager(false).
    }

    @After
    public void teardown() {
        // Run for every test.
-       this.keyManager.clear();
+       this.keyManager.clear().
    }

    /**
@@ -40,10 +40,10 @@ public class KeyManagerTest {
     */
    @Test
    public void testAddGameView() {
-       KeyFunction lambda = (a) -> "Test";
-       keyManager.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X, lambda);
-       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X);
-       assertSame(lambda, lambda2);
+       KeyFunction lambda = (a) -> "Test".
+       keyManager.add(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X, lambda).
+       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X).
+       assertSame(lambda, lambda2).
    }

    /**
@@ -51,10 +51,10 @@ public class KeyManagerTest {
     */
    @Test
    public void testAddRaw() {
-       KeyFunction lambda = (a) -> "Test";
-       keyManager.add(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0, KeyCode.X, lambda);
-       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X);
-       assertSame(lambda, lambda2);
+       KeyFunction lambda = (a) -> "Test".
+       keyManager.add(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0, KeyCode.X, lambda).
+       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X).
+       assertSame(lambda, lambda2).
    }

    /**
@@ -62,12 +62,12 @@ public class KeyManagerTest {
     */
    @Test
    public void testAddIterableGameType() {
-       KeyFunction lambda = (a) -> "Test";
-       keyManager.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, 0, KeyCode.X, lambda);
-       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X);
-       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X);
-       assertSame(lambda, lambda2);
-       assertSame(lambda, lambda3);
+       KeyFunction lambda = (a) -> "Test".
+       keyManager.add(Arrays.asList(GameType.SIMULTANEOUS, GameType.HOTSEAT), MULE.PLAY_SCENE, 0, KeyCode.X, lambda).
+       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X).
+       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X).
+       assertSame(lambda, lambda2).
+       assertSame(lambda, lambda3).
    }

    /**
@@ -75,14 +75,14 @@ public class KeyManagerTest {
     */
    @Test
    public void testAddIterablePhaseCount() {
-       KeyFunction lambda = (a) -> "Test";
-       keyManager.add(GameType.HOTSEAT, MULE.PLAY_SCENE, Arrays.asList(0,1,2), KeyCode.X, lambda);
-       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X);
-       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 1), KeyCode.X);
-       KeyFunction lambda4 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 2), KeyCode.X);
-       assertSame(lambda, lambda2);
-       assertSame(lambda, lambda3);
-       assertSame(lambda, lambda4);
+       KeyFunction lambda = (a) -> "Test".
+       keyManager.add(GameType.HOTSEAT, MULE.PLAY_SCENE, Arrays.asList(0,1,2), KeyCode.X, lambda).
+       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X).
+       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 1), KeyCode.X).
+       KeyFunction lambda4 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 2), KeyCode.X).
+       assertSame(lambda, lambda2).
+       assertSame(lambda, lambda3).
+       assertSame(lambda, lambda4).
    }

    /**
@@ -90,28 +90,28 @@ public class KeyManagerTest {
     */
    @Test
    public void testAddDeluxe() {
-       KeyFunction lambda = (a) -> "Test";
-       keyManager.add(Arrays.asList(GameType.HOTSEAT, GameType.SIMULTANEOUS), MULE.PLAY_SCENE, Arrays.asList(0,1,2), KeyCode.X, lambda);
-       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X);
-       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 1), KeyCode.X);
-       KeyFunction lambda4 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 2), KeyCode.X);
-       KeyFunction lambda5 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X);
-       KeyFunction lambda6 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 1), KeyCode.X);
-       KeyFunction lambda7 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 2), KeyCode.X);
-
-       KeyFunction null1 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 2), KeyCode.Y);
-       KeyFunction null2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 4), KeyCode.X);
-       KeyFunction null3 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.CREDITS_SCENE, 2), KeyCode.X);
-
-       assertSame(lambda, lambda2);
-       assertSame(lambda, lambda3);
-       assertSame(lambda, lambda4);
-       assertSame(lambda, lambda5);
-       assertSame(lambda, lambda6);
-       assertSame(lambda, lambda7);
-
-       assertNull(null1);
-       assertNull(null2);
-       assertNull(null3);
+       KeyFunction lambda = (a) -> "Test".
+       keyManager.add(Arrays.asList(GameType.HOTSEAT, GameType.SIMULTANEOUS), MULE.PLAY_SCENE, Arrays.asList(0,1,2), KeyCode.X, lambda).
+       KeyFunction lambda2 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 0), KeyCode.X).
+       KeyFunction lambda3 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 1), KeyCode.X).
+       KeyFunction lambda4 = keyManager.getBinding(new GameView(GameType.HOTSEAT, MULE.PLAY_SCENE, 2), KeyCode.X).
+       KeyFunction lambda5 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 0), KeyCode.X).
+       KeyFunction lambda6 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 1), KeyCode.X).
+       KeyFunction lambda7 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 2), KeyCode.X).
+
+       KeyFunction null1 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 2), KeyCode.Y).
+       KeyFunction null2 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.PLAY_SCENE, 4), KeyCode.X).
+       KeyFunction null3 = keyManager.getBinding(new GameView(GameType.SIMULTANEOUS, MULE.CREDITS_SCENE, 2), KeyCode.X).
+
+       assertSame(lambda, lambda2).
+       assertSame(lambda, lambda3).
+       assertSame(lambda, lambda4).
+       assertSame(lambda, lambda5).
+       assertSame(lambda, lambda6).
+       assertSame(lambda, lambda7).
+
+       assertNull(null1).
+       assertNull(null2).
+       assertNull(null3).
    }
 }