remove ConditionCallback type parameters
refactor polling