Q:

How to generate new address for new contract created by constructor

I'm trying to resolve a problem and google is not useful this time. 
On my localhost truffle + testrpc I have a contract which returns a new instance of a new contract.
import 'contracts/MyBasicContract.sol';

contract Factory {

 function createContract() returns (address created){

  return new MyBasicContract();

 }

}

What I'm trying to do is to generate a new contract with a new address on which I'll be able to call functions from the front-end.
After deploying Factory I called function createContract which returns me address but still the same address again and again. 
What am I doing wrong? Or how looks the best practise for generating new contracts with new address from frontend? 
Thank you all for some hints.

A:

import 'contracts/MyBasicContract.sol';

contract Factory {

 event LogNewContract(address sender, address newContract);

 function createContract() public returns (address created){  
   MyBasicContract c = new MyBasicContract();
   LogNewContract(msg.sender, c);
   return c;    
 }
}

Hope it helps. 

