Lightweight reimplementation of Entity that avoids EntityType