Move data source out of parsing and into evaluation