You don't need to reimplemented IList, just encapsulate a List in a class, and provide your own Add and Delete functions, that will take care of adding and setting the required properties.
You might have to create your own enumerator if you want to enumerate through the list though.