Interface for factories