upstream change in retcon
complete implementation of generic retcon DataSource.

cleanup pending