The Console and TextBox traits provide methods for a CUI and a GUI, respectively. While the Console trait provides methods to read commands and write messages through standard I/O, the TextBox trait provides methods to show two text boxes for reading commands and writing messages. The Graphical trait provides methods to render the game screen using bitmap images. The InitialRunner and MainRunner provides methods to read commands from AI programs. We can use these classes construct game scenes with various features about the UI. For example, the mixin of the Main abstract class, Console and MainRunner traits creates an object that reads commands from AI programs and writes messages in the standard output.