Use dynamic templates instead of directives for steps