I think it got it working.
Updated SaveState to provide ways to change behavior in parent classes.
Added ApplicationState so that it can control the number of items cached.
Updated a number of events with documentation and properties.
Fixed StateApplication so that it appears to be working.