Command design pattern implemented by ICommand.cs, TopCommand.cs, HelpCommand.cs, ExitCommand.cs, RestartCommand.cs and CommandManager.cs