title: Autoban asyncio client arguments
body: <p>Disclaimer: This is my first time working with WS and MQTT, so structure may be wrong. Please point this out.</p>
  
  <p>I am using autoban with asyncio to receive and send messages to a HA (HomeAssistant) instance through websockets. </p>
  
  <p>Once my python code receives messages, I want to forward them using MQTT to AWS IoT service. This communication needs to work both ways.</p>
  
  <p>I have made this work as a script where everything is floating within a file. 
  I am trying to make this work in a class structure, which is how my final work will be done.</p>
  
  <p>In order to do that, I need my WebSocketClientProtocol to have access to AWSIoTClient <code>.publish</code> and <code>.subscribe</code>. Although WebSocketClientProtocol initialization is done through a factory, as a result I am not sure how to pass any arguments to it. For instance:</p>
  
  <pre><code>if __name__ == "__main__":
  
      aws_iot_client = AWSIoTClient(...)
  
      factory = WebSocketServerFactory('ws://localhost:8123/api/websocket')
      factory.protocol = HomeAssistantProtocol
  </code></pre>
  
  <blockquote>
    <p>How can I pass aws_iot_client to HomeAssistantProtocol?</p>
  </blockquote>
  
  <p>I have found examples of Autobahn - Twisted that do this using <code>self.factory</code> on the WebSocketClientProtocol subclass, but this is not available for asyncio.</p>