Extracted all communication functionality into separated class