How to set size of button icon?

We’re using a ThemeResource to be the icon for a button:

    private static final ThemeResource BUTTON_ICON = new ThemeResource("images/SomeIcon.png");

            // later
            myButton.setIcon(BUTTON_ICON);

I would like to reduce the size of the icons, but I don’t see anything in ThemeResource to do this. I can use an embedded instead and set the size:

    private static final ThemeResource BUTTON_ICON _RES= new ThemeResource("images/SomeIcon.png");
    private static final Embedded BUTTON_ICON = new Embedded(null, BUTTON_ICON_RES);
    static {
        BUTTON_ICON.setHeight("40px");
        BUTTON_ICON.setWidth("40px");
    }

…but then I can’t set that Embedded as the button icon. Can someone tell me how I can resize buttons? If I set a size on the button itself, the image doesn’t change but the spacing between visual icons gets larger/smaller (or the icons overlap).

We’re using “.setStyleName(Reindeer.BUTTON_LINK);” on the button before .setIcon() if that helps.