`save` calls `scheduleSave` which schedules a `flushPendingSave` which will start outside of the run loop.  At that point all of the async code will fail unless inside of a `Em.run`.  Isn't it analogous to an ajax callback and wrapping the `resolve`/`reject` in the run loop, like https://github.com/emberjs/data/blob/master/packages/ember-data/lib/adapters/rest_adapter.js#L571 or https://github.com/emberjs/data/blob/master/packages/ember-data/lib/adapters/rest_adapter.js#L575 ?