Switch polls data provider to use promises