ActionResult refactor to store structured results