Inventing component interface