there is already over 300 lines in data sources, so it's already long enough, so should not add new classes that are not directly related to data source
and there will be many readers, new readers are already in contrib, so it makes sense to keep readers separate and not combine them
there is only going to be one data source in carousel core, so why does it need it's own module?