Fetching the definition of a word using a REST API
Inside the if let json = ... { ... }, all the execution branches will call delegate.dictionaryDidLoad,
and the value of forWord is always params.word.
Instead, you could initialize value and error to nil,
set them in the appropriate conditional branches,
and finally call the delegate.
Something like this:

if let json = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &amp;error) as? NSMutableArray{

    NSLog("Response: \(json)")

    if json.count == 0 {
        error = self.buildError(404, message: "No definitions found")
    } else if let definitionJSON = json[0] as? NSMutableDictionary{
        value = definitionJSON.valueForKeyPath("text") as? String,
    } else {
        error = self.buildError(401, message: "Unexpected Result Format")
    }
} else {
    error = self.buildError(401, message: "Unexpected Result Format")
}

delegate.dictionaryDidLoad(
    value,
    forWord: params.word,
    error: error
)