According to wikipedia, Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
- encapsulates code and data to implement a particular functionality.
- has an interface that lets clients to access its functionality in an uniform manner.
- is easily pluggable with another module that expects its interface.
- is usually packaged in a single unit so that it can be easily deployed.
We have maintained the modular approach in our system. Our system supports multiple themes and accepts third party themes. We are working on to create the developer manual.