| DataSource | Represents a location of the model data sources to build models. | 
| DataSourceListener | Receives notifications about external changes to the data source. | 
| FindUsagesParticipant | Effective (usually index-based) implementation of find usages routines. | 
| Memento | Serves as a storage abstraction to persist configuration information for model roots or other elements
 between sessions in a generic way. | 
| ModelFactory | Represents a data source loading/saving/upgrading strategy. | 
| ModelFactoryType | Serves as identifier in the ModelFactoryRegistry. | 
| ModelLoadingOption | Marker interface for the model creation/loading option | 
| ModelRoot | Represents a logically connected group of models that come from a related physical origin, such as a file or a directory. | 
| ModelRootContext | Serves as a context when the model root is created via ModelRootFactory#create(ModelRootContext) | 
| ModelRootFactory | Factories which create model roots. | 
| MultiStreamDataSource | A data source with multiple input streams, each identified by a unique name. | 
| MultiStreamDataSourceListener | Gets notified whenever one or more streams (files) get changed by an external event. | 
| NavigationParticipant | Effective (usually index-based) builders of Go to Root/Class/Symbol/etc. | 
| NavigationParticipant.NavigationTarget | The implementer must correctly define equals() and hashCode() for implementations | 
| SModelIdFactory | Factories that create SModelId. | 
| SNodeIdFactory | Factories that create SNodeId. | 
| StreamDataSource | A data source with a single input stream. |