Implemented Streams.retain, Streams.release, stream.retain and stream.release. Also lots of little improvements