hey there 👋
thanks for the helpful module 🙏
i assume this was done on purpose but i'd be curious about the rationale - the update object is mutated in-place and emitted in its current state with each progress event (source).
this threw me a bit as i was hanging on to these objects in my tests only to discover that once an operation had completed i just had a bunch of references to the same object, all reflecting the final state (e.g. percentage: 100).