Yes, this is a good idea. But don't call it Factory. Instead, `IRCServer` is a better name. With one method `connect()` that returns `IRCConnection`