Added running loop and configurable rate to DeviceDriver