Learning about best uses for modules

I’ve read through the documentation, watched some videos, written some stand-alone modules and searched around the google group to get an idea if this is a good idea (should it be done, can it EASILY be done).

For example. I want to create a security modules that serves the following purposes:

  1. Provides administrative visual interfaces to security settings

  2. Visually, the module interface should integrate with the parent layout

  3. Provides the parent application with models to interact with security objects OUTSIDE the modules

  4. Maybe provide the parent application with interceptors, views and plugins.

The first two I get, the 3rd I really would like to do and the 4th I guess I’m flexible on. So

  • Is that do-able?
  • Should it be done?
    I’ve seen many times the question asked “why aren’t those things just a part of the parent application”? I don’t disagree with that line of thought but one reason is to make the module of “usefulness” portable to other applications I write. I also see it hugely advantageous just as an structural and functional organizational tool…very helpful for splitting up responsibilities within a team. So I’d like to be able to do this…but I’m unclear if it is very practical.

Any thoughts, advice or even pointers to documentation or sample code would be very much appreciated.