This isn't 100% finished yet. I intend to add some better API for reading specific attributes, as well as write support (of course!)