Refactor TaggableEntity and ObservableEntity interfaces