Use DataVisitor in assign_attributes.
Fixed BelongsTo
Initial efforts with some documentation.