emit method
Implementation
@protected
void emit(T newValue) {
if (isDisposed) return; // Node was disposed before the async op completed
if (hasValue && unsafeValue == newValue) return; // Small optional optimization
unsafeValue = newValue;
controller.add(newValue);
}