/// <summary>
        /// Deletes a specific item.
        /// </summary>
        public void Delete <T>(T item, Action <AzureResponse <object> > callback = null) where T : class
        {
            Log("Deleting: " + item);
            var type = typeof(T);
            var id   = MobileServiceRequestHelper <T> .GetItemId <T>(item);

            var ms = CreateHelper <T>();

            ms.DeleteAsync(id, callback);
            Log("Delete request sent.");
        }
        /// <summary>
        /// Updates a specific item
        /// </summary>
        public void Update <T>(T item, Action <AzureResponse <T> > callback = null) where T : class
        {
            Log("Updating:" + item);
            var ms = CreateHelper <T>();
            var id = MobileServiceRequestHelper <T> .GetItemId <T>(item);

            MobileServiceRequestHelper <T> .SetItemId <T>(item, null);

            ms.PutAsync(item, id, callback);
            Log("Update request sent.");
            MobileServiceRequestHelper <T> .SetItemId <T>(item, id);
        }