 class OpenTriviaDBNetwork {
     private let userDefaults = UserDefaults.standard
     private let baseURL = "https://opentdb.com/"
-    private var sessionToken = ""
     
     public func getCategories(completion: @escaping (_ array: [Category]) -> Void) {
         Alamofire.request("\(baseURL)api_category.php").responseJSON(completionHandler: {response in

                    // Code 2: Invalid Parameter Contains an invalid parameter. Arguements passed in aren't valid. (Ex. Amount = Five)
                    case 3: // Token Not Found: Session Token does not exist.
                        self.getSessionToken(completion: {token in
                            self.sessionToken = token
                            self.makeRequestForStories(params, completion: {json in
                                completion(json)
                            })
                        })
                    case 4: // Token Empty: Session Token has returned all possible questions for the specified query. Resetting the Token is necessary.
                        self.resetSessionToken(token: self.sessionToken, completion: {token in
                            self.sessionToken = token
                            self.makeRequestForStories(params, completion: {json in
                                completion(json)
                            })
                        })

            "amount" : String(amount),
            "category" : categoryIdString,
            "type" : "boolean",
            "token" : ""
        ]
        
        if let token = userDefaults.string(forKey: sessionTokenUserDefaultsKey) { // Token not nil, saved in memory
            parameters["token"] = token
            self.makeRequestForStories(parameters, completion: {json in
                var array = [Story]()
                for (_, subJson) in json["results"] {
                    if let storyTitle = subJson["question"].string?.html2String,
                        let storyFactString = subJson["correct_answer"].string,
                        let storyFactBool = determineStoryReliable(factString: storyFactString) {
                        array.append(Story(title: storyTitle, url: "", fact: storyFactBool))
                    }
                }
                completion(array)
            })
        }
        guard userDefaults.string(forKey: sessionTokenUserDefaultsKey) != nil else { // Token is nil, not saved in memory
            getSessionToken(completion: {token in
                parameters["token"] = token
                self.userDefaults.set(token, forKey: sessionTokenUserDefaultsKey)
                self.makeRequestForStories(parameters, completion: {json in
                    var array = [Story]()
                    for (_, subJson) in json["results"] {
