diff --git a/Example/example-app/Package.swift b/Example/example-app/Package.swift
index 0c4051afd5c8d97996be45242276539f93b4c88c..d19f18b6cb6fa148ab57fa44bbaec0f57b206402 100644
--- a/Example/example-app/Package.swift
+++ b/Example/example-app/Package.swift
@@ -1,180 +1,121 @@
 // swift-tools-version: 5.6
 import PackageDescription
 
-// MARK: - Helpers
-
-struct Feature {
-  var product: Product
-  var targets: [Target]
-  var targetDependency: Target.Dependency
-
-  static func library(
-    name: String,
-    dependencies: [Target.Dependency] = [],
-    testDependencies: [Target.Dependency] = [],
-    swiftSettings: [SwiftSetting] = [
-      .unsafeFlags(
-        [
-          "-Xfrontend",
-          "-debug-time-function-bodies",
-          "-Xfrontend",
-          "-debug-time-expression-type-checking",
-        ],
-        .when(configuration: .debug)
-      ),
-    ]
-  ) -> Feature {
-    .init(
-      product: .library(name: name, targets: [name]),
-      targets: [
-        .target(
-          name: name,
-          dependencies: dependencies,
-          swiftSettings: swiftSettings
-        ),
-        .testTarget(
-          name: "\(name)Tests",
-          dependencies: [.target(name: name)] + testDependencies,
-          swiftSettings: swiftSettings
-        ),
-      ],
-      targetDependency: .target(name: name)
-    )
-  }
-}
-
-struct Dependency {
-  var packageDependency: Package.Dependency
-  var targetDependency: Target.Dependency
-
-  static func local(
-    path: String,
-    name: String,
-    package: String
-  ) -> Dependency {
-    .init(
-      packageDependency: .package(path: path),
-      targetDependency: .product(name: name, package: package)
-    )
-  }
-
-  static func external(
-    url: String,
-    version: Range<Version>,
-    name: String,
-    package: String
-  ) -> Dependency {
-    .init(
-      packageDependency: .package(url: url, version),
-      targetDependency: .product(name: name, package: package)
-    )
-  }
-}
-
-// MARK: - Manifest
-
-extension Dependency {
-  static let all: [Dependency] = [
-    .composableArchitecture,
-    .composablePresentation,
-    .elixxirDAppsSDK,
-    .keychainAccess,
-    .xcTestDynamicOverlay,
-  ]
-
-  static let composableArchitecture = Dependency.external(
-    url: "https://github.com/pointfreeco/swift-composable-architecture.git",
-    version: .upToNextMajor(from: "0.38.3"),
-    name: "ComposableArchitecture",
-    package: "swift-composable-architecture"
-  )
-
-  static let composablePresentation = Dependency.external(
-    url: "https://github.com/darrarski/swift-composable-presentation.git",
-    version: .upToNextMajor(from: "0.5.2"),
-    name: "ComposablePresentation",
-    package: "swift-composable-presentation"
-  )
-
-  static let elixxirDAppsSDK = Dependency.local(
-    path: "../../",
-    name: "ElixxirDAppsSDK",
-    package: "elixxir-dapps-sdk-swift"
-  )
-
-  static let keychainAccess = Dependency.external(
-    url: "https://github.com/kishikawakatsumi/KeychainAccess.git",
-    version: .upToNextMajor(from: "4.2.2"),
-    name: "KeychainAccess",
-    package: "KeychainAccess"
-  )
-
-  static let xcTestDynamicOverlay = Dependency.external(
-    url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
-    version: .upToNextMajor(from: "0.3.3"),
-    name: "XCTestDynamicOverlay",
-    package: "xctest-dynamic-overlay"
-  )
-}
-
-extension Feature {
-  static let all: [Feature] = [
-    .app,
-    .error,
-    .landing,
-    .session,
-  ]
-
-  static let app = Feature.library(
-    name: "AppFeature",
-    dependencies: [
-      Feature.error.targetDependency,
-      Feature.landing.targetDependency,
-      Feature.session.targetDependency,
-      Dependency.composableArchitecture.targetDependency,
-      Dependency.composablePresentation.targetDependency,
-      Dependency.elixxirDAppsSDK.targetDependency,
-      Dependency.keychainAccess.targetDependency,
-      Dependency.xcTestDynamicOverlay.targetDependency,
-    ]
-  )
-
-  static let error = Feature.library(
-    name: "ErrorFeature",
-    dependencies: [
-      Dependency.composableArchitecture.targetDependency,
-      Dependency.elixxirDAppsSDK.targetDependency,
-      Dependency.xcTestDynamicOverlay.targetDependency,
-    ]
-  )
-
-  static let landing = Feature.library(
-    name: "LandingFeature",
-    dependencies: [
-      Feature.error.targetDependency,
-      Dependency.composableArchitecture.targetDependency,
-      Dependency.composablePresentation.targetDependency,
-      Dependency.elixxirDAppsSDK.targetDependency,
-      Dependency.xcTestDynamicOverlay.targetDependency,
-    ]
-  )
-
-  static let session = Feature.library(
-    name: "SessionFeature",
-    dependencies: [
-      Feature.error.targetDependency,
-      Dependency.composableArchitecture.targetDependency,
-      Dependency.composablePresentation.targetDependency,
-      Dependency.elixxirDAppsSDK.targetDependency,
-      Dependency.xcTestDynamicOverlay.targetDependency,
-    ]
-  )
-}
+let swiftSettings: [SwiftSetting] = [
+  .unsafeFlags(
+    [
+      "-Xfrontend",
+      "-debug-time-function-bodies",
+      "-Xfrontend",
+      "-debug-time-expression-type-checking",
+    ],
+    .when(configuration: .debug)
+  ),
+]
 
 let package = Package(
   name: "example-app",
   platforms: [.iOS(.v15)],
-  products: Feature.all.map(\.product),
-  dependencies: Dependency.all.map(\.packageDependency),
-  targets: Feature.all.flatMap(\.targets)
+  products: [
+    .library(name: "AppFeature", targets: ["AppFeature"]),
+    .library(name: "ErrorFeature", targets: ["ErrorFeature"]),
+    .library(name: "LandingFeature", targets: ["LandingFeature"]),
+    .library(name: "SessionFeature", targets: ["SessionFeature"]),
+  ],
+  dependencies: [
+    .package(
+      url: "https://github.com/pointfreeco/swift-composable-architecture.git",
+      .upToNextMajor(from: "0.38.3")
+    ),
+    .package(
+      url: "https://github.com/darrarski/swift-composable-presentation.git",
+      .upToNextMajor(from: "0.5.2")
+    ),
+    .package( // ElixxirDAppsSDK
+      path: "../../"
+            ),
+    .package(
+      url: "https://github.com/kishikawakatsumi/KeychainAccess.git",
+      .upToNextMajor(from: "4.2.2")
+    ),
+    .package(
+      url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
+      .upToNextMajor(from: "0.3.3")
+    ),
+  ],
+  targets: [
+    .target(
+      name: "AppFeature",
+      dependencies: [
+        .target(name: "ErrorFeature"),
+        .target(name: "LandingFeature"),
+        .target(name: "SessionFeature"),
+        .product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
+        .product(name: "ComposablePresentation", package: "swift-composable-presentation"),
+        .product(name: "ElixxirDAppsSDK", package: "elixxir-dapps-sdk-swift"),
+        .product(name: "KeychainAccess", package: "KeychainAccess"),
+        .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .testTarget(
+      name: "AppFeatureTests",
+      dependencies: [
+        .target(name: "AppFeature"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .target(
+      name: "ErrorFeature",
+      dependencies: [
+        .product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
+        .product(name: "ElixxirDAppsSDK", package: "elixxir-dapps-sdk-swift"),
+        .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .testTarget(
+      name: "ErrorFeatureTests",
+      dependencies: [
+        .target(name: "ErrorFeature"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .target(
+      name: "LandingFeature",
+      dependencies: [
+        .target(name: "ErrorFeature"),
+        .product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
+        .product(name: "ComposablePresentation", package: "swift-composable-presentation"),
+        .product(name: "ElixxirDAppsSDK", package: "elixxir-dapps-sdk-swift"),
+        .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .testTarget(
+      name: "LandingFeatureTests",
+      dependencies: [
+        .target(name: "LandingFeature"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .target(
+      name: "SessionFeature",
+      dependencies: [
+        .target(name: "ErrorFeature"),
+        .product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
+        .product(name: "ComposablePresentation", package: "swift-composable-presentation"),
+        .product(name: "ElixxirDAppsSDK", package: "elixxir-dapps-sdk-swift"),
+        .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+    .testTarget(
+      name: "SessionFeatureTests",
+      dependencies: [
+        .target(name: "SessionFeature"),
+      ],
+      swiftSettings: swiftSettings
+    ),
+  ]
 )