Cleanup some API, add some tests/validation
Merge pull request #37 from square/edenman/first-pass-at-API-cleanup

Cleanup some API, add some tests/validation