cleaned up unused imports
implement Fragment interfaces: OnFragmentDataInitialized to pass back the data
implemented joinLists (for creating the union of installed apps and remote apps)
removed debug logging
implemented overrides of equals() and hashCode()
joinLists(): changed union to intersection
implemented data callbacks from fragments to main activity