Added pure virtual interface for song builder, test cases and implementation.