ActionResult refactor to store structured results

Yes, can be done later. It hasn't been introduced here, so it's a different topic.