async def METHOD_NAME(self, data: Dict[str, Serializable], user_id: int) -> Dict[str, Serializable]:
    corp_set = defaultdict(lambda: {})
    gen = {}
    for k, v in data.items():
        tmp = k.split(':')
        if len(tmp) > 1:
            corp_set[tmp[0]][tmp[1]] = v
        else:
            gen[k] = v
    for corp, data in corp_set.items():
        await self.save(user_id, corp, data)
    if len(gen) < len(data):
        logging.getLogger(__name__).warning(
            f'Upgraded legacy format settings for user {user_id}')
        await self.save(user_id, None, gen)
    return gen