Message types are now functional interfaces