simplify caching of properties, just check current ctx value