Refactor device class

This refactors the device class as well as touches all the services to use the new version of value_for