Moved communication into own class