This commit adds a rule registry as a central place to register new rules. It will expose a Description and a factory to create a rule object.