Add a template system. Config everything from yaml