Open functions are also responsible to run the initialization sequences. I don't see a good reason why there is both Open and Setup.