since this is an absolutely fundamental design pattern.
While the "do simple now and improve later" strategy could be used (in tutorial 5, we say: wow, lets refactor some more code!), I think the direct approach is better here, since it is pretty obvious that this factors out the code.
I disagree - the "simple and improve later" is a much better idea.
It's easy to explain simple things. Once the basics have been grasped, you can extend and provide more complexity. If you introduce the complexity early, you have to say "just do this, and ignore the reasons why", which leads to cargo-culting.
So - marking this ticket as someday/maybe, for the purposes of introducing a new tutorial step on template blocking.
I agree completely with @russellm comment. Could the tutorials maybe include an end of section "Something to look at next" where we could list some simple improvements or additional features the user could attempt?
This section would purely be additional reading / features the user could add it without conflicting with the tutorials in anyway.
In general, I think it's difficult for apps to provide sufficiently generic templates that will integrate into a site's layout. Some have proposed some ​common conventions that may work to some extent but in my opinion trying to provide reusable templates shouldn't be a big emphasis of reusable apps.