Mailody is build up into different levels:
After that, we have the Mailody::Imap class. This communicated to the socket and is the interface to the rest of the application.
Then there are two mainwidgets, that are Mailody::MainWindow and the Mailody::Composer. They each have some helpers. So is there a Mailody::ToolTip, Mailody::MailBoxListView, Mailody::HeaderListView and Mailody::TotalView for the mainwindow.
Some methods are used often, you can use the Mailody::Global class for those static functions.
Every class should be documented. Classes written for Mailody should all go into the Mailody namespace, all other classes, should be set in their own namespace if possible.