refactor create to not expose internal data structures Upstream-commit: 07cfac3d2dbb30a76760397a1aec050a9709a500 Component: engine