Building a Rule Engine - Low Level Design