Rename capture_io to couple, add shared_example tests, thanks @myronmarston for the input