Add labels to Actions

These can be used to display to the user the action that is going to be done or undone.
Use Dart's default lazy instantiation for the scheduler

Dart will lazily instantiate final and constant fields. More info [here](http://news.dartlang.org/2012/02/static-variables-no-longer-have-to-be.html).