But if you sprinkle the direct call all over those 6 locations, then refactoring would become tedious, testing becomes more involved, and you are leaking implementation details into the flag checking code that is not needed.