using System; using Caliburn.StateManagement; namespace Caliburn.Services { public interface IShellState { void SetValue(string key, T value) where T : IPersistable, new(); T GetValue(string key) where T : IPersistable, new(); bool IsLoaded { get; } event Action Loaded; event Action Saving; void Load(); void Save(); } }