Song must be unpublished before delete.

Code refactored and simplified.