refactoring song controller as a singleton