     }
   }()
 
-  private static let persistentStoreName = "FlingChallenge.sqlite"
-  private static var managedObjectModel: NSManagedObjectModel?
-  private static var persistentStoreCoordinator: NSPersistentStoreCoordinator?
-  private static var _mainQueueManagedObjectContext: NSManagedObjectContext!
-
 }
 
-extension DataController {
+// MARK: Private
+
+private extension DataController {
 
   private static func initializeCoreDataStack() throws {
     assert(NSThread.isMainThread(), "\(#function) must be executed on main thread")

    _mainQueueManagedObjectContext = context
  }

}

    }

    let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model)
    try coordinator.addPersistentStoreWithType(NSSQLiteStoreType,
                                               configuration: nil,
                                               URL: persistentStoreURL,
                                               options: persistentStoreOptions)
    persistentStoreCoordinator = coordinator

    let context = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
