- Overhauling the end effector system on the robot to use different classes for each end effector. - Do type checks for different actions to ensure that the right end effector is attached and fail if not. - Instantiating end effector at startup, along with associated resources. - using config to define which end effector is attached. - Getting rid of as many try-excepts as possible