@startuml
skinparam Style strictuml

participant ":Logic" AS Logic
participant ":AddEventCommand" AS AddEventCommand

Logic -> AddEventCommand : execute(d, u)
activate AddEventCommand

create "e:Event" as Event
AddEventCommand -> Event: new Event(eventName, eventDescription)
activate Event
Event --> AddEventCommand : e
deactivate Event

participant "d:Dashboard" AS Dashboard
participant "m:EventManager" AS EventManager

AddEventCommand -> Dashboard : getEventManager()
activate Dashboard
Dashboard --> AddEventCommand : m
deactivate Dashboard

AddEventCommand -> EventManager : addEvent(e)
activate EventManager
EventManager --> AddEventCommand
deactivate EventManager

participant "u:UI" AS UI

AddEventCommand -> UI : prettyPrint("Event added successfully")
activate UI
UI --> AddEventCommand
deactivate UI

AddEventCommand --> Logic 
deactivate AddEventCommand

destroy AddEventCommand
@enduml