Look at PropertyAccessor. Unfortunately this code has to be duplicated here. PropertyAccessor needs to be refactored so that the whole property resolution logic is separate from the setting/getting.