Add tests; callbacks and events now receive data object with element, remainingMilliseconds, parsedDate, timerId ( or error )