created configuration annotations, bind listener for config, provider abstraction