This needs a javadoc to explain that it runs with command hooks if supported.