Refactorerd EntityBase into interfaces