addInRepoEngine(name, version = '0.0.0', options = { allowCachingPerBundle: false, enableLazyLoading: false }) {
    const callback = (engine) => {
      engine.pkg.keywords.push('ember-engine');

      // call original callback if it exists
      if (typeof options.callback === 'function') {
        options.callback(engine);
      }
    };

    if (options.enableLazyLoading) {
      return this.addInRepoAddon(name, version, {
        ...options,
        additionalContent: 'lazyLoading: { enabled: true },',
        callback,
      });
    }

    return this.addInRepoAddon(name, version, { ...options, callback });
  }
Add an in-repo engine to this object. The engine files will be written in
this object's `lib/<engine-name>` directory when this object is written out.

@param {String} name name of the engine
@param {String} version version of the engine, defaults to '0.0.0'
@param {Object|Function} optionsOrCallback an object consisting of properties and values to apply when creating
the engine, or a callback function to pass the newly-created FixturifyProject to. Important options
include 'allowCachingPerBundle' (true if the addon can be proxied, defaults to false), 'enableLazyLoading' (true
if the engine is to be lazily loaded, defaults to false)  and 'callback' (if you want to include
a callback function while also specifying other properties.)
@returns {FixturifyProject} the newly-created addon