Recode CommandController using CommandObject