components for implementing command-oriented-interfaces