public override Task LoadAsync(StreamDeckConnection connection, string action, string context, JObject settings)
        {
            m_Connection = connection;
            m_Action     = action;
            m_Context    = context;
            m_Settings   = settings.ToObject <ClockActionSettings>();

            return(Task.FromResult(0));
        }
        public override async Task ProcessPropertyInspectorAsync(SendToPluginEvent propertyInspectorEvent)
        {
            switch (propertyInspectorEvent.Payload["property_inspector"].ToString().ToLower())
            {
            case "propertyinspectorconnected":
                // Send settings to Property Inspector
                await m_Connection.SendToPropertyInspectorAsync(m_Action, JObject.FromObject(m_Settings), m_Context);

                break;

            case "propertyinspectorwilldisappear":
                await SaveAsync();

                break;

            case "updatesettings":
                m_Settings = propertyInspectorEvent.Payload.ToObject <ClockActionSettings>();
                await SaveAsync();

                break;
            }
        }