Revert to using global modification_date, but provide override.

Also fix tests and cover more functionality.