Use AgsConnectable if you intend to listen to a particular event. If you want to connect an event of an object known during instantiation time use ::connect and ::disconnect. Assumed the object needs to be resolved, you can ::connect-connection ::disconnect-connection, later.
AgsPlugin interface provides persistence to a well known abstract base type. Since it
has various implementations, this interface provides
void ags_plugin_read(AgsFile*, xmlNode*, AgsPlugin*)
xmlNode* ags_plugin_write(AgsFile*, xmlNode*, AgsPlugin*)
Likewise there are the interfaces intended to use with sound related objects AgsSoundcard, AgsSequencer, AgsMutable and AgsSeekable.