Component configuration with settings and component user contract