cuda: add a framework to handle commands