Make progress commands more OO

Encapsulate command specific logic into separate classes.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Also move context menu logic into separate classes

Signed-off-by: Sven Strickroth <email@cs-ware.de>