Reusable components for services that use messaging for communication