component
typedef struct dg_component { char *name; void *data; dg_cpt_destroy_t on_destroy; } dg_component_t;