Convert Identifiable to interface for better reuse
Use abstract class for default implementation
Merge pull request #6 from mertenvg/master

fix/identifiable