template property with single id fields
template property refactored to usage of a embedded key class
cleaned up unnecessary setters around template property id
made template property id nicer