Redesign communication between components