Extremely brittle builder implementation, but functional. Needs refactoring to more complex rule structure.