ActionsParser refactor

Also this function is too long & spaghetti to my taste. Shouldn't we break it into separate checks?