Clean up some traits. Add some docs. #9