Framework for running commands