declaring seems good, but i disagree with default FALSE:

1) if default is set to TRUE, it will at production just chceck for cache invalidation every time, which has almost no performance issues

2) if default is set to FALSE, the programmer must every time he changes some file invalidate that cache, which is kinda WTF, that you must in develompent invalidate cache

So i prefer default TRUE