@startuml
[*] --> Idle
Idle -down-> Initialized : Init(trialTime?)
Initialized -down-> Running : Start(trialTimeSpeed?)
Initialized -up-> Idle : Reset

state Running {
    [*] --> Started
    Started --> Paused : Pause
    Paused --> Started : Start(trialTimeSpeed?)
    Started --> Started : Update(trialTimeSpeed?)
    Paused --> Paused : Update(trialTime?)
}

note right of Running : While running, periodic Time Messages are sent

Started -left-> Stopped : Stop 
Paused -left-> Stopped : Stop
Stopped -up-> Idle : Reset
@enduml