Framework for adding commands