Also I implemented a simple PID controller that could automatically compensate against some types of internal clock drift.

Worked really well for the project.

Avoiding time jumps was really worthwhile.