a messenger protocol can have multiple elements