refactored cegui class