Add back add_rule to Engine for now
Organize code and specs