initial solution structure
ContentElement class with Type
ContentElement is generic
it will only accept values implementing IContentValue
fix typing error in file name
ContentElement is sealed