In order to create a new fund, CallerA (any account) can call FundDeployer.createNewFund() . The steps taken by this function are:
A ComptrollerProxy and full release-level fund configuration are created via the pipeline described in "ComptrollerProxy Creation".
FundDeployer calls to the Dispatcher to deploy a new VaultProxy with the CallerA-provided fundOwner and fundName (note that fundOwner does not need to be CallerA), along with the release's VaultLib and the newly-created ComptrollerProxy that will become the VaultProxy 's accessor.
The FundDeployer calls ComptrollerProxy.activate() to set the newly-created VaultProxy on the ComptrollerProxy and to give extensions a final chance to update state before the the fund can start taking investments.