Make NamedDescriptor a concrete class and allow override get with set_default and result