Add subscriber event & refacto service