added a task map, lowlevel functions take a string
temporary DeviceAttributes interface

I really should just make the attribute classes have exported instances. SystemAttributes will be a singleton (I guess) while the others can be instantiated with their handle