adding a "closed" event to providers

  first attempt at solving stop() propagation