swing ui implementation completely seperated from renderer and widget classes