This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor cannot guarantee that. However, the same danger already exists with the std::string-based constructor