Tpdahp CommandObject Design Pattern implementation