@startuml class CommandManager { + {static} getInstance() : CommandManager + setMaxCapacity(capacity:int) : void + executeCommand(command:ICommand) : void + undo() : void + redo() : ICommand + clearHistory() : void } @enduml