StreamController<T> controller
read / write