why does ``managementCommand`` take a Promise, wouldn't it be better if it just returned a Future?