Updated the communicating? and first_communicating? functions