instead of tying Widget into ContentProvider, use contentobserver