refactoring: renaming factory methods and adding abstract to last fm item classes that should not be created.