#312 moved rule instantiator into new method