[streaming] StreamInvokable rework for simpler logic and easier use