Added an abstract Controller for all DeviceController