Make commands abstract instead of an interface.