StartupBean.java includes about 15 jobs scheduled into Quartz for execution. Some of these may be candidates for refactoring as separate server plugins. Reasons: 1. As the word 'refactoring' suggests, it allows the core startup code to have less explicit dependencies. It also allows the code to be split into multiple modules which are more easily maintained. 2. Allows administrators to stop, pause, or change the frequency of job execution. Some jobs (like the Out-of-band) metrics feature may not used and could be disabled. Calculating baselines may not be used as well. 3. Allows the configuration settings for jobs where necessary. A lot of things are hard-coded, for lack of a way to introduce a setting. It also would allow configuration settings from 'SystemSettings' to be moved to a plugin-specific area. Reasons not to: 1. Certain jobs are not complex to warrant the upkeep of a separate module. 2. Exposing configuration and job control for everything is not as helpful as it is dangerous. 3. Configuration of key settings (data retention) may be taken away from an easy-to-find area and moved to a plugin area. The other problem is, certain jobs like DataPurgeJob do an awful lot. So in addition, it would make sense to divide jobs into smaller execution steps.