Refactor for host vs metric vs watcher