Can be the factory interface directly (no need for a container interface)