some ideas about declaritive metadata, these wont compile into much but express the relationships between the object