Most mobile applications today require interaction with data that is no longer local to the device. Applications access data from Facebook, Twitter, and any other number of disparate remote sources. Because of this, working with remote data is unavoidable and something that most developers encounter when creating mobile applications. Some of the challenges that arise when dealing with remote data are: How will you query the data? How will you update the data? How will you deal with complex relationships and cascading updates?