Scope classes and remove unused test target.
Create separate static library target.
Remove SPFunctional dependency.
Simplify API.
Add basic documentation.

Clean up demo code.