remainingItems property
Implementation
Stream<int> get remainingItems {
// Lazily create the remaining items controller so if people aren't listening to the stream, it won't create any potential memory leaks.
// Probably not necessary, but hey, why not?
_remainingItemsController ??= StreamController<int>();
return _remainingItemsController!.stream.asBroadcastStream();
}