Data can be stored at different paths
Don't blow up when setting paths that have no subscribers
Change engine.set to return a promise instead of take a callback
Cleanup EngineTest to be more deterministic
Cleanup EngineTest to be more deterministic
Subscribing later sends correct values for multiple paths