In the previous chapter, we saw the container interfaces responsible for component embedding. There were three. You have probably noticed how deep their relationship with the component interfaces was.
The component has only 2 necessary interfaces. GNOME::embeddable and GNOME::View which are closely related to respectively GNOME::ClientSite and GNOME::ViewFrame. A component should of course implement the GNOME::PersistFile interface to support saving but we'll discuss this later.