simplified infinity initialization by passing component types as strings instead of policy instances