a reusable property proxy API
