Properly encapsulated code into separate classes, added updated
updateTimer method