The road to world domination is paved with obstacles. Your users want interfaces that are intuitive and flexible, but you don't have the time to tweak a thousand lines of C++, compilation after tweak after compilation. Or maybe your users want to modify the interface to their own needs?
Perhaps what you want is an easy way to serialize your application's state, to save it to disk or share it across the network?
Maybe you want your application use a rich storage format, but can't spare the investment to draft a format document, implement a parser, test it, maintain it ..
Entity is here to minimize the effect of these obstacles on your programs. Entity reduces the time wasted by all these tasks, and is a real hoot to work with to boot!
Entity is not geared solely to user interface applications, but it was designed with this in mind, and works well in that role. Entity is actually a program that takes an XML description, and turns that description into in-memory objects. The scripting language of your choice is then used to manipulate these objects at runtime, allowing you to easily create dynamic applications. The objects may then be returned to an XML representation at any time.