change design; loggie instance will no longer deal with substitution by default; add a new method `logger.template`