Hi,
Main module in EPESI is the Base_Box module. It's responsible for displaying menu, actionbar, and module content. Then HomePage module is shown as first module by Base_Box. Base_Dashboard module just displays applets and is default HomePage module.
You can change the main EPESI module using php code Variable::set("default_module", "Custom_YourModule").
In your new default module you can do anything you want but then you have to init and display the Base_Box module to run default EPESI. Here you should now how EPESI works. In short - every page load in EPESI (any callback, menu navigation etc), will go through your module body - your module will be created every single interaction. So avoid any time consuming operations in body of your module. Cache using module variables, etc.
I've never done this, but I know it's possible 😉
Good luck!
Regards,
Adam