how is it automatically set? does the user need to create setter/getter methods according to a specific naming scheme, or does the extension use eg reflection to set the property?