mkistler commented on Jun 4, 2016:
"If an app listens on a key (think concrete key for now) that does not exist and never existed, the listener will receive no value. But if the app listens on a key that does not exist but did exist sometime in the past but has been deleted, the listener will be called with a deleted value. This inconsistency is troubling and potentially confusing to developers."