Is there a legit use case where someone would want to the underlying IO to auto connect? This is causing some nesting limit issues with my reconnect code. I could see the need if someone was calling AMQPLazyConnection::write() or AMQPLazyConnection::select() but would you want to use those before you called AMQPLazyConnection::channel()? It would help greatly to just remove the AMQPLazyConnection::getIO() function, but if people are using these other methods without having a channel then it could cause some issues.