genericize self-loading to use cookbook_name