There is no easy way to split contracts into deploys, currently this is the way I found:
- create interface of contract and interface of factory;
- move logic to a Factory;
- interface creation and return address of contract being created;
- add factory interface variable;
- add at constructor the assignment of that address;
- replace
myContract = new MyContract();
to the logic exemplified inneedNewExternalContract()