<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def usable_service(self):
 """Return a usable service or None if there is none. A service is usable if enough configuration to be able to make a connection is available. If several protocols are usable, MRP will be preferred over DMAP. """

        services = self._services
        for protocol in self._supported_protocols:
            if protocol in services and services[protocol].is_usable():
                return services[protocol]

        return None