             let httpResponse = response as! NSHTTPURLResponse
             let statusCode = httpResponse.statusCode
             
-            if statusCode == 200 {
-                self.parseCloudConfigFromData(data, completion: completion)
-            } else {
-                completion(json: { throw CloudConfig.Error.BadResponse })
-            }
+            guard statusCode == 200
+                else { completion(json: { throw CloudConfig.Error.BadResponseCode }); return }
+            self.parseCloudConfigFromData(data, completion: completion)
         }
         
         task.resume()

    
    /// Errors types which can be throwed when refreshing local settings from remote.
    public enum Error: ErrorType {
        /// This error is returned if there is no internet connection.
        case NoInternet
        /// This error is returned if cloud config is not available on configured remote URL.
        case BadResponse
    }
    
    /// Constants for keys of sent NSNotification objects.

    
    func parseCloudConfigFromData(data: NSData?, completion: ThrowJSONWithInnerBlock) {
        guard let configData = data
            else { completion(json: { throw CloudConfig.Error.NoData }); return }
        
        do {
            let json = try NSJSONSerialization.JSONObjectWithData(configData, options: .AllowFragments)
            guard let config = json as? [String : AnyObject]
                else { completion(json: { throw CloudConfig.Error.BadData }); return }
            completion(json: { return config })
        } catch {
            completion(json: { throw error })
        }
