changed the save to be synchronous to avoid an issue where the app is uploading and downloading the same PFFile for image at the same time
added back needToPullFromRemote property to optimize api calls and for future notification center handling