The whole progress computation should not be done using a separate class: it should be part of the Timeline class.