Update templates and API to be more generic; update README