…ardo Fontes I'm using firmata since it makes the code more readable and easier to change. That is the main reason why I didn't actually use the code provided by Bernardo.
…n the dialog is closed
I needed to create a Timer class to keep track of time. This means we now have two related gobject timeouts: one for the timer itself to decrement the time_left, and another one for the status icon to update it's label. The UserInterface object need to know the Timer object so it can control it's state (pause, start, etc)
…form with PEP8) More specifically: """ - Comparisons to singletons like None should always be done with 'is' or 'is not', never the equality operators. """ AFAIK this is recommended because if an object overrides __eq__, we could theoretically have a situation where that object would equal None