Doug will probably cry over this huge switch! It seems to me that every `op` in this action should really be an action on its own.