add PeriodicDelay interface which is aware of period

Can we be more explicit with imports? I'm a bigger fan of being explicit these days because explicit imports document what's actually needed for this unit to compile.