DRY up the steps controller