Refactor the data transfer mecanisms: now with better OOP design