could be a std::shared_ptr<Hardpoint>&