Возможно, такое подойдет:
в каждом классе Some_WithFlags
держать объект FlagFunctioner
. Класс FlagFunctioner
должен иметь все необходимые public методы, чтобы работать с ним. плюс будут видны protected, если находятся в одном пакете.
В Some_WithFlags
создать getter для FlagFunctioner
, если надо его доступность извне.
Может быть вы и имели это ввиду под пунктом II, только я не понял о чем у вас там речь.
> Создаем методы в каждом классе и делегируем их в статический метод третьего класса со ссылкой на объект.