It's ugly because:
* id() to a Surface object is meaningless. Only external users of the surface need the ID.
* You either have to make the constructor take an ID parameter (more annoying coupling), or add a set_id() function which is the part that would be equally easy to abuse.
It's ugly because:
* id() to a Surface object is meaningless. Only external users of the surface need the ID.
* You either have to make the constructor take an ID parameter (more annoying coupling), or add a set_id() function which is the part that would be equally easy to abuse.
But if it unblocks us, I might give it a go.