Commands framework