add options for timerDelay and intervalDelay
move static methods to module scope, instead of attaching to constructor
doc
doc