Why is this all necessary? Why can't blue just autodiscover my custom step?\
\
It could, however the order in which steps execute is important. For example if you are resizing things and rearranging the block diagram, you probably want to resize them first and then rearrange them last after they are already at the correct size.\
\
Because of this, you have to not just provide the custom step class, but also tell Blue where it falls in the order of all the steps.