Instead of using currentAction as integer, use enum. You could extract every step into other class which implements interface A and in enum parameter set implementation of this interface for example:
interface Action{
void doThing();
}
class A implements Action{
public void doThing(){...}
}
class B implements Action{
public void doThing(){...}
}
enum ActionType{
BANK(new A()), FOO(new B())...
@Getter
private final Action action;
}
use private final static variables instad of private final