ActionResult refactor to store structured results

Done