Implement message writer.

writer -> sink ?