Кажется, вы реализовали свой собственный шаблон наблюдателя, основанный на том, как работает Java.Почему не использовался стандартный механизм наблюдения за вспышкой, основанный на событиях?
С другой стороны, ваш взгляд связан с сервисом, что не является хорошей практикой вообще.Также вы внедрили свой сервис в качестве синглтона.Это сделает невозможным изменение реализации вашего сервиса, если вы решите провести какое-то модульное / интеграционное тестирование.
Все фреймворки «второго поколения» (Mate, Parsley, Swiz, Robotlegs, Tide ...) помогутвы создаете архитектуру, основанную на внедрении зависимостей и обмене сообщениями полностью отделенным образом.