PanelFactory

1st design pattern: factory method