It's actually very simple, really. You can mark a message as a story, which means you can display it in a way that doesn't allow people to respond to it. And, using the site structure XML, you can define new URL's that refer to those messages. So ideally, to emulate Manila, everything needs to center around the discussion group. This is the main class, the one that instantiates everything.
Utility functions tend to percolate up to here, to make DTML using ZopeFish methods easier.
Here is also where you find the code that manages and flips home pages. This is the equivalent of the Manila discussion area. It is pointed directly from the main ZopeFish instance, by an instance var called 'discuss'. This class contains the code needed for creating messages in either Pike or in the browser. This is just the object that stores the message and the messages attributes.