Wrote some comments. Replaced ShaderHandle** with shared_ptr<ShaderHandle*>.