refactor: disentangle head dropping and publishing