got code to work with Rule objects through cheap hack of specifying exact arguments to each player evaluate() method