WTH Why is a template executed when availability would be False?

Why is a template still being executed an availability is defined for the template and it would return False? This often now means that availability has to be checked both in the template portion itself AND on the availability part. If not then often one can see errors appear in the log file etc.
Would be better that if availability returns False that then templates for state and attributes are not executed.

Templates do not execute when availability is false. This was added a few versions ago.