@startuml
!include style.puml

box Logic LOGIC_COLOR_T1
participant ":LogicManager" as LogicManager LOGIC_COLOR
participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR
participant "a:AddCommand" as AddCommand LOGIC_COLOR
end box

box Model MODEL_COLOR_T1
participant ":Model" as Model MODEL_COLOR
end box
[-> LogicManager : execute(undo)
activate LogicManager

LogicManager -> AddressBookParser : parseCommand(add)
activate AddressBookParser

create AddCommand
AddressBookParser -> AddCommand

AddCommand --> AddressBookParser
deactivate AddCommand

AddressBookParser --> LogicManager : a
deactivate AddressBookParser

LogicManager -> AddCommand : execute(model)
activate AddCommand

AddCommand -> Model : addPerson(person)
activate Model
AddCommand -[hidden]-> LogicManager : void
Model --> AddCommand
deactivate Model


AddCommand --> LogicManager : result
deactivate AddCommand

[<--LogicManager
deactivate LogicManager
@enduml