WIP major changes to how elements and attributes are handled internally. Idea is to make everything much cleaner in terms of design.