This is the only API you need to implement to create a data source, as eachFContentBrowserItemDatainstance knows which data source owns it, and uses that information to pass itself back into the correct data source instance when asked to perform actions or validation. In that sense you can think of this like a C API, where the data source returns an opaque object that is later passed back into the data source functions so that they can interpret the opaque object and provide functionality for it.