Objects for which only partial information is available at construction time (for instance, when it's comming through the network). You can init an object in a common base class and once more information is available rebless it into a more specific one.