Communication code is extracted to separated module.