Add persistence using KVO and NSDefaults