Should we make this a flexible typedef (use Communication from the HostGrid if defined, otherwise use CollectiveCommunication)?
Communication
HostGrid
CollectiveCommunication