Rules Framework Refactored