Swing was always known as a powerful, highly configurable UI toolkit. However, it was also regarded as a slow, hard to learn, confusing, hard to program toolkit. An easier programming model was needed, so genesis was born two years ago and has supported GUI-toolkit independent binding for more than a year and a half now.