     case UploadPathObtained = 3
     case ImageUploaded = 4
     case ServerNotified = 5
-    case Cancelled = 6
+    case SubmittedToGallery = 6
+    case Cancelled = 7
 }
 
 protocol CreationUploadSessionDelegate: class

                            weakSelf.delegate?.creationUploadSessionChangedState(weakSelf)
                            weakSelf.notifyServer(error, completion: { (error) -> Void in
                                
                                weakSelf.error = error
                                weakSelf.isActive = false
                                weakSelf.delegate?.creationUploadSessionChangedState(weakSelf)
                                
                                if let error = error
                                {
                                    Logger.log.error("Upload \(weakSelf.localIdentifier) finished with error: \(error)")
                                    weakSelf.delegate?.creationUploadSessionUploadFailed(weakSelf, error: error)
                                }
                                else
                                {
                                    Logger.log.debug("Upload \(weakSelf.localIdentifier) finished successfully")
                                }
                                
                                completion?(weakSelf.creation, ErrorTransformer.errorFromResponse(nil, error: error))
                            })
                        })
                    })

        currentRequest = requestSender.send(request, withResponseHandler: handler)
    }
    
    private func uploadToGallery(error: ErrorType?, completion: (ErrorType?) -> Void)
    {
        if let error = error
        {
            completion(error)
            return
        }
        if state.rawValue >= CreationUploadSessionState.SubmittedToGallery.rawValue
        {
            completion(nil)
            return
        }
        
        let request = GallerySubmissionRequest(galleryId: creationData.galleryId!, creationId: creationUpload!.identifier)
        let handler = GallerySubmissionResponseHandler()
        {
            [weak self](error) -> Void in
            if let weakSelf = self
            {
                if error == nil
                {
                    weakSelf.state = .SubmittedToGallery
                }
            }
            completion(error)
        }
        currentRequest = requestSender.send(request, withResponseHandler: handler)
    }
    
    //MARK: - Utils
    private class func documentsDirectory() -> String
    {
