Add initial documentation

Random ranting of how I think the API should work.