Better directive template constructor.

Also works with 1.3. We were doing it wrong.