added service layer for devices. added isCheckedOut to device. added status enum. added new tests