Base class for all GUIs.
The number of rows in the GUI (1-6).
The underlying Bukkit inventory managed by this GUI.
Builds the GUI using the provided GuiCreator.
Opens the GUI for the specified player.
Generates or updates the inventory based on the current configuration. This should be called whenever the GUI's state changes.