next_scheduled what?  What is this code doing?  A comment here would be useful.  Also, it might be nice to just bootstrap next_schedule as self.clock_func() initially or similar -- avoiding this one-off check every time you call _delay.  Just a thought.