removed exchange from ComponentInterface