There's no base widget interface? Not even an abstract to build upon?