Ligação reativa do VueJS para um plug-in - como fazer?

Estou trabalhando em um plug-in Vue para Pouch / CouchDB, que será de código aberto, mas contanto que eu possa descobrir um problema que estou tendo:

Atualmente, estou tentando fazer com que o plugin se pareça com o Vuex, que tem um estado interno, detecte alterações e renderize a exibição quando elas acontecerem.

Dentro da instância do Vue, estou inicializando um objeto e, dentro desse objeto, estou tentando tornar dois ou três objetos reativos, com defineReactive, até aqui o que é bom.

Mas quando tento alterar alguns valores dentro desse objeto, as alterações não são propagadas para a exibição. MAS se eu ligar explicitamenteeste. $ bucket._state.projects .__ ob __. dep.notify (), as mudanças se propagam.

A representação atual do objeto da instância do Vue é assim:Vue { $bucket: { _state: { projects: {} } } }

$bucket._state foi inicializado comdefineReactive. que acredito que deve funcionar, mas não tenho certeza qual é o problema exato neste caso.

Qualquer ideia?

Parcial do código, a classe aqui é quase semelhante aVuex.Store({})

    constructor(schema = {}) {

    // Getting defineReactive from Vue
    const { defineReactive } = Vue.util;

    // Ignored Schema Keys
    const ignoredKeys = [
      'config',
      'plugins'
    ];

    // Internal Variables
    this._dbs = {};

    // Define Reactive Objects
    defineReactive(this, '_state', {});
    defineReactive(this, '_views', {});

    // Local Variables
    if (!schema.config) {
      throw new Error(`[Pouch Bucket]: Config is not declared in the upper level!`);
    }

    // Init PouchDB plugins
    if ((schema.plugins.constructor === Array) && (schema.plugins.length > 0)) {
      for (let i = 0; i < schema.plugins.length; i++) {
        PouchDB.plugin(
          schema.plugins[i]
        );
      }
    }

    // Initializing DBs that are declared in the schema{}
    for (const dbname in schema) {
      if (schema.hasOwnProperty(dbname) && ignoredKeys.indexOf(dbname) === -1) {
        this._initDB(
          dbname,
          Object.assign(
            schema.config,
            schema[dbname].config ? schema[dbname].config : {}
          )
        );

        this._initState(dbname);
      }
    }
  }

questionAnswers(1)

yourAnswerToTheQuestion