Yup, okay.

I decided to remove the caching. The extents are now calculated as part of the constructor. If we need to revisit performance, then we can consider this as an option. Thanks.

Done.