Moving macro generation into its own pack.