Introduce template arguments and default values.

9 files changed