Updating clock to use a function object, add ability to set specific time, adding full docs