Comand OO pattern WIP