all the meta programming for the collection decorator which delegates to the object decorator