specify category definitions in api interfaces so that plugin developers won't need to specify them again; other random stuff
async services, part one