If the ParenCnt was a method in a utility object I would propose that it may be a poor design to burden the object with extra properties that are only used internally by the ParenCnt method. Static vars are by definition encapsulated into the emthod that creates them so they violate no principles of OO.