move includes that don't need to be in header files into source files. hopefully this will reduce dependencies and speed compiles
added parent class for device/host proxies with common functions.