Adds a delay before starting to emit values
Stream<T> delay(Duration duration) { return asyncMap((event) async { await Future.delayed(duration); return event; }); }