The Console and Text Box 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 Text Box 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 Initial Runner and Main Runner 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 Main Runner traits creates an object that reads commands from AI programs and writes messages in the standard output.