code: func RunLoop() {
  	outChannels := connection.GetOutputChannels()
  	defer connection.Clean()
  
  	for {
  		Run(outChannels)
  		runtime.Gosched()
  	}
  
  }
docs: /*
  RunLoop starts a loop that receives CommandResponses and dispatches them.
  This is a helper method, but you could just implement your own, if you only
  need this loop to be the blocking loop.
  For Instance, in a HTTP Server setting, you might want to run this as a
  goroutine and then let the servers blocking handler keep the process open.
  As long as there are commands in the channel, this loop will dispatch as fast
  as possible
  */