     fileprivate let consumerSecret: String
     fileprivate let callbackURL: String
     
-    fileprivate var authenticationPermission: FlickrAuthenticationPermission!
+    fileprivate var authenticationPermission: FlickrOAuthPermission!
     fileprivate var currentState: FlickrOAuthState = .default
     
     fileprivate var resultBlock: FlickrOAuthCompletionHandler!

    
    // MARK: - Public -
    
    func authorizeWithPermission(_ permission: FlickrAuthenticationPermission, result: @escaping FlickrOAuthCompletionHandler) {
        authenticationPermission = permission
        resultBlock = result
        getRequestToken()


// MARK: - Types

enum FlickrOAuthPermission: String {
    case read
    case write
    case delete
}

private enum OAuthParameterKey: String {
