CompositeModel &operator[](std::size_t i) noexcept { return *skeletons[i]; }
const CompositeModel &operator[](std::size_t i) const noexcept { return *skeletons[i]; }
CompositeModel &operator[](std::size_t i) noexcept { return *skeletons[i]; }
const CompositeModel &operator[](std::size_t i) const noexcept { return *skeletons[i]; }