New dynamic factory for creating IO