Refactored Denormalized Reference

Still todo: think about making it abstract, already tested derived.
Think about how to treat different Id versions (Guid, int, attribute)