create a singleton DataSourceManager that handles all the data sources
so we don't init them every time we change a screen