Вы можете сделать связанный список результатов. С триггером кеша, указывающим на начало списка. Поскольку связанные списки действуют как обертка вокруг всего, что вы хотите, вы можете сделать результаты настолько универсальными, насколько захотите.
Это не потребует другого API, но вам придется реализовать все это самостоятельно, и, надеюсь, вы понимаете, почему мы не любим изобретать велосипед.