Added an interface to provider listeners through providers