fixed wrong dependency cycle detected and not removing var listener in VariablePredicateProvider