* This step can be particularly tricky to implement, so we will add some helpers with sane default behaviors