package cellsociety; public class Manager { public Manager(Config config, Display display) public void startGame() public Map getSimulationParams() public Cell getNeighbor(int row, int col) public int getRow() public int getColumn() public Cell getCell(int row, int col) public void step() } package cellsociety; public class Display { public void initializeUI(Stage stage) public void startSimulation(Runnable stepAction) public void render(Cell[][] grid) public Slider getSlider() public double getRate() } package cellsociety.cell; public class ConwayCell extends Cell { public ConwayCell(int row, int col, int initialState, Manager manager) public Color getColor() public void computeNextState() } package cellsociety.cell; public class SchellingCell extends Cell { public SchellingCell(int row, int col, int initial_state, Manager manager) public void computeNextState() public Color getColor() public void commitNextState() } package cellsociety.cell; public class FireCell extends Cell { public FireCell(int row, int col, int initial_state, Manager manager) public void computeNextState() public Color getColor() } package cellsociety.cell; abstract public class Cell> { protected static Map params public Cell(int row, int col, int initialState, Manager manager, Class enumClass) public abstract Color getColor(); public abstract void computeNextState(); public void commitNextState() } package cellsociety; public class Main extends Application { public void start(Stage primaryStage) } package cellsociety; public class Config { public static final String DATA_FILE_FOLDER public Config(Stage stage) public Map getMetadata() public Map getGriddata() public Map getParameters() public int[][] getCellgrid() public boolean loadNewSimulation() public boolean loadNewSimulationFromFile(File dataFile) }