changing the state consumer function signature. no need to pass the IStreamP reference since it acts on itself