CreateFlexibleMessaging suggests adding meta-data to otherwise anonymous data that is passed around between large-scale system components. Managing this MetaData yourself, however, requires attention to all manner of fiddly initialization and caching issues; COM, CORBA and the various OODBMSs and ORDBMSs do the job for you, but are totally overblown solutions with much more maintenance and performance penalty than most applications justify.
Therefore,
Perl has essentially four builtin types: scalar, list, hash (associative array) and reference. JAPHs please forgive this gloss. In order to support structured programming these types can be composited, and because the composites are so straightforward they are simple to make persistent and distribute without concern about separate meta-data.
Perl makes classes of these composites by associating each of them with a module of member functions and includes schemes for managing these modules as meta-data, but this is not necessary for applications that only require the distribution of state - ie. most applications.
The Perl pattern is straightforward to replicate in most languages and can save a lot of bother. This can be a good pattern to employ as the Value class in MultiCaster. -- PeterMerel