<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def remove_device(self, device, id_override=None, type_override=None):
 """ Remove a device. Args: device (WinkDevice):
 The device the change is being requested for. id_override (String, optional):
 A device ID used to override the passed in device's ID. Used to make changes on sub-devices. i.e. Outlet in a Powerstrip. The Parent device's ID. type_override (String, optional):
 Used to override the device type when a device inherits from a device other than WinkDevice. Returns: (boolean):
 True if the device was removed. """

        object_id = id_override or device.object_id()
        object_type = type_override or device.object_type()
        url_string = "{}/{}s/{}".format(self.BASE_URL,
                                        object_type,
                                        object_id)

        try:
            arequest = requests.delete(url_string,
                                       headers=API_HEADERS)
            if arequest.status_code == 204:
                return True
            _LOGGER.error("Failed to remove device. Status code: %s", arequest.status_code)
            return False
        except requests.exceptions.RequestException:
            _LOGGER.error("Failed to remove device.")
            return False