How do you make this core interface clear? There will probably be 50 functions, handlers, and parsers in the Irc
class. You'll have to look at the class for an hour to detangle them all. Adding clear docstrings would get half the way there, but that is not a good answer. Making all the IRC specific functions private would be the standard solution, but Python does not really have any concept of privacy.