Move stream validation into the stream object
Use serial stream factory