Fix a bug where wrong sources would be removed from a multisource source array
Better project architecture