   // MARK: - IDFYDataManagerInterface
   
   func getCurrentList() -> IDFYOptionList {
-    let fetchResult : [IDFYManagedOptionList] = fetchLastUsedManagedOptionList()
-    if 0 < fetchResult.count {
-      let managedOptionList : IDFYManagedOptionList = fetchResult[0]
-      return IDFYOptionList(name: managedOptionList.name, options: managedOptionList.options)
+    
+    if let lastUsedListName = getLastUsedListName() {
+      let listOfLastUsedManagedOptionLists = fetchManagedOptionListWithName(lastUsedListName)
+      if 0 < listOfLastUsedManagedOptionLists.count {
+        let managedOptionList : IDFYManagedOptionList = listOfLastUsedManagedOptionLists[0]
+        return IDFYOptionList(name: managedOptionList.name, options: managedOptionList.options)
+      } else {
+        // This case must not be possible. If it is, further investigation is needed.
+        abort()
+      }
     } else {
-      // Should only happen the first the app is started.
-      let managedOptionList : IDFYManagedOptionList = NSEntityDescription.insertNewObjectForEntityForName(managedOptionListEntityName, inManagedObjectContext:managedObjectContext!)
-        as! IDFYManagedOptionList
+      let entityDescriptionForNewList = NSEntityDescription.entityForName(managedOptionListEntityName, inManagedObjectContext: managedObjectContext!)
+      var managedOptionList = IDFYManagedOptionList(entity: entityDescriptionForNewList!, insertIntoManagedObjectContext: managedObjectContext)
       managedOptionList.name = ""
       managedOptionList.options = [String]()
       setLastUsedListName("")

  }
  
  func updateCurrentList(list: IDFYOptionList) {
    let fetchResult : [IDFYManagedOptionList] = fetchLastUsedManagedOptionList()
    if 0 < fetchResult.count {
      let managedOptionList = fetchResult[0]
      managedOptionList.name = list.name

  
  
  // MARK: - Private methods
  
  private func fetchManagedOptionListWithName(listName: String) -> [IDFYManagedOptionList] {
    return fetchManagedOptionListWithPredicate(NSPredicate(format: "name == '" + listName + "'"))
