Did super satisfying refactoring of backend code into objects for each source type!