EvidyonGUIButton* EvidyonGUIScrollableButtonList::button(int id) {
  GUIComponent* component = list_.getComponent(id);
  if (!component) {
    component = new Button(this, id);
    GUICanvas* canvas = component->getCanvas();
    canvas->alignXLeft(0);
    canvas->alignYTop(0);
    canvas->relativeWidth(0);
    canvas->relativeHeight(0);
    canvas->relativeDepth(0.0f);
    list_.setComponent(id, component);
  }
  return reinterpret_cast<EvidyonGUIButton*>(component);
}