If it isn't already too late, you may also consider another approach to your module development by using the 'Dispatcher' pattern, written about here:
http://www.wwwcoder.com/main/parentid/224/site/2050/68/default.aspx
I also have a good example of this in a freely available Document Management module on my own site here:
http://aciasoftware.com/Default.aspx?tabid=201 (<== yes I am still running DNN 2.1.2 )
I first learned this by analyzing Scott McCulloch's (now http://www.ventrian.com/) News module for DNN which which used to be distributed freely, although now would only cost $20.00 subscription to download. The key point about his architecture (the first person I saw using it): instead of adding a separate control definition to your module definition for each view control (in host module definitions), you encapsulate your module within a single "Dispatcher" Control which then loads the appropriate control based upon named value in querystring. You add an additional parameter to each URL within your module, something like ctltoload (I always use a name specific to the module such that it won't clash with other modules), and the Dispatcher page looks for this value in the request.parameters, if it is present, identifies which control to load, and loads that control into the majority of the module workspace. The great thing about this approach is that most of your module navigation and security can be implemented by this dispatcher page, and you can conditionally display links into the capabilities of the module based upon user role membership, etc.
Pros of using this approach:
1) Security: Module security uses it's own internal roles to manage the capabilities displayed by the user. There is an administrative settings page which lists all available portal roles, which can be used to map additional non-administrative portal roles into various internal roles within the module. Access Denied & Authentication Required Pages In the Module
2) Easy DotNetNuke configuration: Only One View Page.
3) Solves your Print Icon problem.
4) Can easily be modified for incorporation into other CMS like Rainbow Portal.
Cons:
1) Not 'Standard' DotNetNuke architecture (although widely used by third party modules)
2) ControlToLoad variable can clash possibly with other modules you develop.
3) You won't be able to take advantage of module caching.