Provider's : differentiate between an empty returned list or a communication error Re-organize some of the background work