Extract out timer logic to a DeadlineTimer
Fix compile errors related to commit returning Object instead of boolean
removed snapshotting to reset for real implementation