diff --git a/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt b/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
index a0566b6cf0e0fe152787fe75ccecb65e4c47aa46..468ccd178966de7966b174773da8eb148e9cc16a 100644
--- a/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
+++ b/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
@@ -2,7 +2,6 @@ package io.elixxir.xxclient.models
 
 import android.util.Log
 import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
 import io.elixxir.xxclient.utils.toBase64String
 
 interface BindingsModel {
@@ -16,15 +15,13 @@ interface BindingsModel {
             val data = list.map {
                 (it as? ByteArray)?.toBase64String() ?: it
             }
-            val typeToken = object : TypeToken<Array<T>>() {}.type
-            return Gson().toJson(data.toTypedArray(), typeToken).encodeToByteArray()
+            return Gson().toJson(data.toTypedArray(), T::class.java).encodeToByteArray()
         }
 
         inline fun <reified T> decode(data: ByteArray?): T? {
             return data?.run {
                 if (isValidData()) {
-                    val typeToken = object : TypeToken<T>() {}.type
-                    Gson().fromJson<T>(decodeToString(), typeToken)
+                    Gson().fromJson(decodeToString(), T::class.java)
                 } else {
                     Log.d("Decode", "Failed to decode data: ${decodeToString()}")
                     null
@@ -35,8 +32,7 @@ interface BindingsModel {
         inline fun <reified T> decodeArray(data: ByteArray?): List<T> {
             return data?.run {
                 if (isValidData()) {
-                    val typeToken = object : TypeToken<Array<T>>() {}.type
-                    Gson().fromJson<Array<T>>(decodeToString(), typeToken).toList()
+                    Gson().fromJson(decodeToString(), Array<T>::class.java).toList()
                 } else listOf()
             } ?: listOf()
         }