in the event that this is registered or if the input is finished, should an exception be thrown? is it valid to return a newly initialized firehose?