@startuml skinparam BackgroundColor F0F0F0 actor User participant "PowerOffWindow" as poff participant "Application" as app participant "System Manager" as sysmgr participant "All services" as srv participant "Application Manager" as appmgr participant "Service GUI" as gui participant "service EINK" as eink User -> poff : confirm close poff -> app : GUI off switch app -> sysmgr : UserPowerDownRequest sysmgr -> srv : InitiateSystemCloseSequence srv -> appmgr : processCloseReason appmgr -> appmgr : switchWindowAtClose(logo) eink -> gui : last sreen show gui -> srv : ready to close srv -> sysmgr : readyToClose alt timeout sysmgr -> sysmgr : closeServices end sysmgr -> srv : SystemMessageType::Exit srv -> sysmgr : MsgHandled alt timeout sysmgr -> sysmgr : kill service end @enduml