diff --git a/AppleLibs.xcodeproj/project.pbxproj b/AppleLibs.xcodeproj/project.pbxproj
index 799d9c13952d4b4169119e8012c83a4065740803..08b8ea38d98c1a75090e12fe7e51e5ad9d969301 100644
--- a/AppleLibs.xcodeproj/project.pbxproj
+++ b/AppleLibs.xcodeproj/project.pbxproj
@@ -33,6 +33,9 @@
 		F6A70E14275D445300C2FB00 /* Date+Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A70E13275D445300C2FB00 /* Date+Create.swift */; };
 		F6CCA30A276FC53D00844F92 /* Logging in Frameworks */ = {isa = PBXBuildFile; productRef = F6CCA309276FC53D00844F92 /* Logging */; };
 		F6CD575026D246470051B38E /* Float+Rounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CD574F26D246470051B38E /* Float+Rounded.swift */; };
+		F6EDE73327B4609F0030F810 /* Resolver in Frameworks */ = {isa = PBXBuildFile; productRef = F6EDE73227B4609F0030F810 /* Resolver */; };
+		F6EDE73727B461030030F810 /* CoreData+Extended.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EDE73527B461030030F810 /* CoreData+Extended.swift */; };
+		F6EDE73827B461030030F810 /* ContextHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EDE73627B461030030F810 /* ContextHolder.swift */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -75,6 +78,8 @@
 		F6A251BD260B699100132DEC /* String+Html.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Html.swift"; sourceTree = "<group>"; };
 		F6A70E13275D445300C2FB00 /* Date+Create.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Create.swift"; sourceTree = "<group>"; };
 		F6CD574F26D246470051B38E /* Float+Rounded.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Float+Rounded.swift"; sourceTree = "<group>"; };
+		F6EDE73527B461030030F810 /* CoreData+Extended.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CoreData+Extended.swift"; sourceTree = "<group>"; };
+		F6EDE73627B461030030F810 /* ContextHolder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContextHolder.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -82,6 +87,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				F6EDE73327B4609F0030F810 /* Resolver in Frameworks */,
 				F6CCA30A276FC53D00844F92 /* Logging in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -120,6 +126,7 @@
 		F623A6822635B78500F50371 /* Utils */ = {
 			isa = PBXGroup;
 			children = (
+				F6EDE73427B460EF0030F810 /* CoreData */,
 				F623A6532635B32900F50371 /* Collections */,
 				F68C2D402616482000042967 /* Date */,
 				F6A251B8260B696200132DEC /* Numbers */,
@@ -220,6 +227,15 @@
 			path = Numbers;
 			sourceTree = "<group>";
 		};
+		F6EDE73427B460EF0030F810 /* CoreData */ = {
+			isa = PBXGroup;
+			children = (
+				F6EDE73627B461030030F810 /* ContextHolder.swift */,
+				F6EDE73527B461030030F810 /* CoreData+Extended.swift */,
+			);
+			path = CoreData;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
@@ -250,6 +266,7 @@
 			name = AppleLibs;
 			packageProductDependencies = (
 				F6CCA309276FC53D00844F92 /* Logging */,
+				F6EDE73227B4609F0030F810 /* Resolver */,
 			);
 			productName = AppleLibs;
 			productReference = F6A25196260B66FF00132DEC /* AppleLibs.framework */;
@@ -302,6 +319,7 @@
 			mainGroup = F6A2518C260B66FF00132DEC;
 			packageReferences = (
 				F6CCA308276FC53D00844F92 /* XCRemoteSwiftPackageReference "swift-log" */,
+				F6EDE73127B4609F0030F810 /* XCRemoteSwiftPackageReference "Resolver" */,
 			);
 			productRefGroup = F6A25197260B66FF00132DEC /* Products */;
 			projectDirPath = "";
@@ -336,6 +354,7 @@
 			buildActionMask = 2147483647;
 			files = (
 				F68BFE6B263B28B000E893E5 /* UIViewController+Screenshot.swift in Sources */,
+				F6EDE73827B461030030F810 /* ContextHolder.swift in Sources */,
 				F623A65E2635B38200F50371 /* CharacterSet+Url.swift in Sources */,
 				F673A9942635EF510017AD37 /* DataManager.swift in Sources */,
 				F6A251BA260B697300132DEC /* Double+Rounded.swift in Sources */,
@@ -356,6 +375,7 @@
 				F623A6742635B5BE00F50371 /* Enum+Extended.swift in Sources */,
 				F673A9962635EF510017AD37 /* ResponseError.swift in Sources */,
 				F673A9992635EF510017AD37 /* RequestBuilder.swift in Sources */,
+				F6EDE73727B461030030F810 /* CoreData+Extended.swift in Sources */,
 				F6A70E14275D445300C2FB00 /* Date+Create.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -635,6 +655,14 @@
 				minimumVersion = 1.0.0;
 			};
 		};
+		F6EDE73127B4609F0030F810 /* XCRemoteSwiftPackageReference "Resolver" */ = {
+			isa = XCRemoteSwiftPackageReference;
+			repositoryURL = "https://github.com/hmlongco/Resolver.git";
+			requirement = {
+				kind = upToNextMajorVersion;
+				minimumVersion = 1.1.4;
+			};
+		};
 /* End XCRemoteSwiftPackageReference section */
 
 /* Begin XCSwiftPackageProductDependency section */
@@ -643,6 +671,11 @@
 			package = F6CCA308276FC53D00844F92 /* XCRemoteSwiftPackageReference "swift-log" */;
 			productName = Logging;
 		};
+		F6EDE73227B4609F0030F810 /* Resolver */ = {
+			isa = XCSwiftPackageProductDependency;
+			package = F6EDE73127B4609F0030F810 /* XCRemoteSwiftPackageReference "Resolver" */;
+			productName = Resolver;
+		};
 /* End XCSwiftPackageProductDependency section */
 	};
 	rootObject = F6A2518D260B66FF00132DEC /* Project object */;
diff --git a/Package.swift b/Package.swift
index 4fd2ddde4c8310fdda415a3b013f3070e37a75fa..169afcf1d0333e60c9ce08acdb318e4ee6c9cefa 100644
--- a/Package.swift
+++ b/Package.swift
@@ -14,12 +14,14 @@ let package = Package(
     ],
     dependencies: [
         .package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),
+        .package(url: "https://github.com/hmlongco/Resolver.git", from: "1.1.4"),
     ],
     targets: [
         .target(
             name: "AppleLibs",
             dependencies: [
-                .product(name: "Logging", package: "swift-log")
+                .product(name: "Logging", package: "swift-log"),
+                .product(name: "Resolver", package: "Resolver")
             ],
             path: "AppleLibs"
         ),