Some refactoring (FWTree owns Rule, not State)