Replacing @throw with NSParameterAssert
Removing unnecessary calls to NSUserDefaults synchronize
Minor refactoring
Updating example to iOS 7
Refactoring to use object literals