A Object that implements the Extractable interface can be extracted from a
Asset using extract.
Each extractable type will have its own way of interpreting the id of an asset (or, if
it is associated with a specific subclass of Asset, the asset subclass may handle the
interpretation of the id). By default, the requested asset
id will be ignored by a Extractable and will be set to the
type name of the extractable instead. Also by default, when the requested asset is extracted, the returned object will simply be a newly
created default object of that extractable type. You should check the documentation for each extractable type to see if they differ from
the default.
After the object is extracted, it will have a reference to the asset it came from, which you can retrieve using
get_asset.