Abstracted protocol similar to server-side.