This generates the dynamic functions at buildtime and also splits the package into smaller files to avoid dependency circles.
This generates the dynamic functions at buildtime and also splits the package into smaller files to avoid dependency circles.