Very basic abstraction around sending and receiving messages