feat(sources): a new abstract class for simpler data sources