Here is the way I would make it :
Create a module, which is called by a link in the menu block (in the menu block service.xml you can put a pop-up comment)
When you click, your module shows the possible choices (links) in the main area (see html module behaviour for example). This is implemented by a method of your module (usualy main)
Other methods implement other actions : list companies, register ...
In my opinion, design is not such a problem because of nukes framework guidelines. Main issues are :
Directory structure creation for clean coding, building & deploying ;
IDE (Eclipse ?) integration ;
Persistence & database : EJB, CMP, CMR XDoclet ...
My first module was issued in 3 days, next one 3 hours ...