Refactoring the communication layer.