@dantleech: Your right. I think "extends" will be the best.

Concerning the naming: It's not an BlockCacheExtension at all. It makes all fields in BaseBlock editable. Caching is only one thing. The "enable" flag is about rendering.