moving messaging-related functionality into the BasicCSP class