anyone have an ImageButton component?

Does anyone have an image button component where i can simply do something like this:

Embedded imgUp= new Embedded(null, "/img/up.png");
Embedded imgDown = new Embedded(null,"/img/down.png");
Embedded imgHover= new Embedded(null, "/img/hover.png");

ImageButton imgButt = new ImageButton(imgUp, imgDown, imgHover);

layout.addComponent(imgButt);

(i know the embedded is wrong but you get the idea)

and be done with it? I have now wasted all day trying to get CSS right, figure out states, controls, etc for something that really isn’t that hard. Especially having to manually set the size of the NativeButton control for each of the dozens of types of buttons this application is going to need. it really shouldn’t be this hard. I should be able to just create a component, tell it which images i want to use as the skin images of the button and the component handle everything else. Simple factory class that has a static factory method for each of the types of buttons i need for my application using the appropriate ThemeResource for everything and move on to business logic where it really gets complicated.

ugh, i am remembering vividly why i don’t normally write UI’s. give me back end statistical analysis and analytic algorithms or transactional systems handling tens of millions of transactions an hour any day of the week. those systems are easy and straight forward, this UI stuff is hard as hell.