add PeriodicDelay interface which is aware of period