docs: def message_received(self, message):
          """Message was received from device."""
          # If the message identifer is outstanding, then someone is
          # waiting for the respone so we save it here
          identifier = message.identifier or 'type_' + str(message.type)
          if identifier in self._outstanding:
              outstanding = OutstandingMessage(
                  self._outstanding[identifier].semaphore, message)
              self._outstanding[identifier] = outstanding
              self._outstanding[identifier].semaphore.release()
          else:
              asyncio.ensure_future(self._dispatch(message), loop=self.loop)