Refactored data source to create a base for multiple data source definitions. Also, inserted base for supporting push and poll data collection mechanisms at different pooling intervals.