Allows to mark properties with a simple attribute and persist them in registry.
Marking a property as persistent:
[Persistent("MyPersistedProperty", DefaultValue=1)] // the DefaultValue is optional
public int MyProperty { get; set; }
Setting the application registry node:
[assembly: RegistryPersistence(@"Software\MyApplication", CurrentUser = true)]
When two properties from different instances or different types use the same persistence name, their value always stays synchronized (changing a value in an instance changes it everywhere).