The controlled interface is available for you to use if you are an experienced APPC programmer and need full APPC flexibility. There are cases when an application needs more control over APPC state transitions; in those cases, automatic state switching would increase the complexity of the problem it is trying to solve. Using the controlled interface means you will have to make more subroutine calls than you would if you used the automatic interface, but you gain precise control over the APPC conversation.