ActionResult refactor to store structured results

Yeah, the whole API refactor is another PR I have to make soon.