Develop clear criteria for when code in Kepler CORE should be in its own module.
As of now, we have broken up Kepler into a number of modules. But this breaking up of Kepler has been ad hoc and not followed a consistent set of guidelines concerning when code should be in its own module and when it should be grouped with other code that is somehow related in a common module.
Lack of consistent guidelines make modules harder to understand. Following more consistent guidelines would make Kepler easier to understand.