The AST::Meta was a class or two away from exceeding the rubocop ClassLength limit so this seems like a necessary reorganization.