Composing factories to return a custom container interface