*changed Shader's "properties" std::vector to "attributes" and
"uniforms" std::unordered_map