engine.add should return a promise
Fake implementation of adding a one-to-many index
Generalize adding indexes to avoid hardcoded field names
Generate unique ids for each document
Enable long stack traces for promises in tests
Extract subscriber management from engine