Remove boilerplate
More cleanup, boilerplate removal
Add documentation
Fix typo
Add comments to implemention
Add default NSOperationQueue
Use default operation queue in example