diff --git a/src/private/utils.js b/src/private/utils.js
index <HASH>..<HASH> 100644
--- a/src/private/utils.js
+++ b/src/private/utils.js
@@ -5,8 +5,8 @@ export function isDescriptor(desc) {
   
   const keys = ['value', 'get', 'set'];
   
-  for (const key of keys) {
-    if (desc.hasOwnProperty(key)) {
+  for (let i = 0, l = keys.length; i < l; i++) {
+    if (desc.hasOwnProperty(keys[i])) {
       return true;
     }
   }
@@ -23,3 +23,20 @@ export function decorate(handleDescriptor, entryArgs) {
     };
   }
 }
+
+class Meta {
+  debounceTimeoutIds = {};
+}
+
+const { defineProperty } = Object;
+
+export function metaFor(obj) {
+  if (obj.hasOwnProperty('__core_decorators__') === false) {
+    defineProperty(obj, '__core_decorators__', {
+      // Defaults: NOT enumerable, configurable, or writable
+      value: new Meta()
+    });
+  }
+
+  return obj.__core_decorators__;
+}
Don't use , fixes #<I>. Also includes new Meta/metaFor for per-instance state