:memo: Document options to ::getPropertyValue
:fire: unused method
DRY up logic for cache key & whether to cache
Add option to disable bubbling in ::getPropertyValue