Rework command impl
Case object commands