Reorganize methods and properties, add pragma marks, start documenting properties