Rework source order so that we can have --rev and --flush objects.