Change API to use new records
Fix tests
Add schema, validate-tests, refactor
Slim update! implementation, arrange API fns