OverlayedText should be smart enough to not run twice the same
        matchers but this is an extra handle of control over that.

def _maybe_run_matchers(self, text, run_matchers):
        """
        OverlayedText should be smart enough to not run twice the same
        matchers but this is an extra handle of control over that.
        """

        if run_matchers is True or \
           (run_matchers is not False and text not in self._overlayed_already):
            text.overlay(self.matchers)
            self._overlayed_already.append(text)