template, data and build functions are kept in single package file, on_fail and on_success callbacks, check for package integrity, packages have different names so can be kept simultaneously