private AbstractComponent createButton(final Animation animation) {
    PlainContainer container = new PlainContainer();
    container.setLayout(new VerticalLayout());
    container.setXAlignment(0.5);

    PlainContainer center = new PlainContainer();
    center.setXAlignment(0.5);
    center.setYAlignment(0.5);
    center.setMinimumWidth(64);
    center.setMaximumWidth(64);
    center.setMinimumHeight(64);
    center.setMaximumHeight(64);

    ImagePose icon =
        Editor.instance.getStylesheet().resources.getPose("animation-" + animation.getTagName());
    ImageComponent img = new ImageComponent((icon == null) ? null : icon.getSurface());
    center.addChild(img);
    Button button = new Button(center);
    container.addChild(button);

    container.addChild(new Label(animation.getName()));

    button.addActionListener(
        new ActionListener() {
          @Override
          public void action() {
            AnimationTypePicker.this.hide();
            AnimationTypePicker.this.pick(animation);
          }
        });

    return container;
  }