consolidated yuckiness in HookContext.ActionData method