diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index fbcc36b39c6d50f50009da9c081f069ac52ee832..bd0aa849b3c4403bad086205507fd2df3ce0be82 100644
--- a/Sources/ElixxirDAppsSDK/E2E.swift
+++ b/Sources/ElixxirDAppsSDK/E2E.swift
@@ -1,15 +1,21 @@
 import Bindings
 
 public struct E2E {
+  public var getId: E2EGetId
+
   // TODO:
 }
 
 extension E2E {
   public static func live(_ bindingsE2E: BindingsE2e) -> E2E {
-    E2E()
+    E2E(
+      getId: .live(bindingsE2E: bindingsE2E)
+    )
   }
 }
 
 extension E2E {
-  public static let unimplemented = E2E()
+  public static let unimplemented = E2E(
+    getId: .unimplemented
+  )
 }
diff --git a/Sources/ElixxirDAppsSDK/E2EGetId.swift b/Sources/ElixxirDAppsSDK/E2EGetId.swift
new file mode 100644
index 0000000000000000000000000000000000000000..0813698594ec525991f67d8ab8f594904092a259
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/E2EGetId.swift
@@ -0,0 +1,22 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct E2EGetId {
+  public var run: () -> Int
+
+  public func callAsFunction() -> Int {
+    run()
+  }
+}
+
+extension E2EGetId {
+  public static func live(bindingsE2E: BindingsE2e) -> E2EGetId {
+      E2EGetId(run: bindingsE2E.getID)
+  }
+}
+
+extension E2EGetId {
+  public static let unimplemented = E2EGetId(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
diff --git a/Sources/ElixxirDAppsSDK/Legacy/ClientE2EIdProvider.swift b/Sources/ElixxirDAppsSDK/Legacy/ClientE2EIdProvider.swift
deleted file mode 100644
index 4eadb5966c558281beb2e625422e79c9cd348600..0000000000000000000000000000000000000000
--- a/Sources/ElixxirDAppsSDK/Legacy/ClientE2EIdProvider.swift
+++ /dev/null
@@ -1,23 +0,0 @@
-import Bindings
-
-public struct ClientE2EIdProvider {
-  public var get: () -> Int
-
-  public func callAsFunction() -> Int {
-    get()
-  }
-}
-
-extension ClientE2EIdProvider {
-  public static func live(bindingsClientE2E: BindingsE2e) -> ClientE2EIdProvider {
-      ClientE2EIdProvider(get: bindingsClientE2E.getID)
-  }
-}
-
-#if DEBUG
-extension ClientE2EIdProvider {
-  public static let failing = ClientE2EIdProvider {
-    fatalError("Not implemented")
-  }
-}
-#endif