Features: - [ ] selectable input - [ ] selectable output - [ ] selectable close - [ ] input iterator - selectable input and output are essential (nice example: https://tour.golang.org/concurrency/5) - close + iterator are useful together and especially in a dynamic environment - buffered channels