Song implementation and unit tests