WireEnd functionality split into ReadEnd and ReadWriteEnd