- action.c is getting too big, so split out all the handling of