check that delegate is set
style
style
style
simplify
remove redundant variables.
Add delegate method
style
style
style
implement a composite timer