Keep an Eye on Rule Class Dependencies

It is recommended that you keep these rule classes in separate rule sets:

While it is important to adhere to the recommended structure above by the time your product's implementation is complete, you do not have to strictly adhere to it in the early days of your product's development cycle.

You can refactor your rule sets later to match this structure, although such a refactoring task will become more complex the longer it is put off. In any case, to refactor freely you will need to have built up a good bank of unit tests for the behavior of your rule classes.