[Specification::DSL] Add prepare_command & deprecate hooks

@alloy & @orta