add command support for deferreds/promises