Move transfer logic to separate class