Issue #2896728 by willzyx: Move entity type info methods to a dedicated controller and add test coverage