Sistema de Cinema em JavaFX

Olá galera, estou tendo um problema com um sistema de cinema que estou fazendo pra um trabalho da faculdade, meu problema é que eu não estou conseguindo fazer um sistema de assentos, até agora está organizado da seguinte forma:

Tela principal aonde você tem uma TableView que dá pra adicionar os filmes que estão passando e em qual sala;

Eu pensei em fazer Sala, uma classe própria com o nome, se é 3d ou não, e esse tipo de coisa. Porém, eu preciso definir pra cada sala os assentos e mostrar a disponibilidade dos mesmos, pensei em utilizar botões ou checkboxes pra fazer isso, só que como eu faço pra cada objeto criado dentro do programa ter seu próprio conjunto de checkboxes/botões que podem ser verificados na hora de vender o ingresso?
Obrigado!

Edit: Eu tinha postado sobre isso antes, porem, percebi que necessita que diferentes objetos “Sala” tenham assentos diferentes

Depende de como vc está fazendo, eu faria mais ou menos:

// modelos

class Sala {
  List<Assento> listaDeAssentos;
}

class Assento {
  int x, y; // localização
  boolean disponibilidade;
  int id;
}

// controles da view

class FXAssento extends Group {
  ObjectProperty<Assento> assento;
  public FXAssento() {
    assento.addChangeListener((p,o,n) -> {
      // p = property, o = old, n = new
      setX(n.x);
      setY(n.y);
      setDisponibilidade(n.disponibilidade);
    });
  }
}

class FXSala extends Node {
  ObjectProperty<Sala> sala;
  Group assentos;
  public FXSala() {
    sala.addChangeListener((p,o,n) -> {
      List lista = assentos.getChildren();
      while (lista.size() > n.listaDeAssentos) lista.remove(0);
      while (lista.size() < n.listaDeAssentos) lista.add(new FXAssento());
      for (int i = 0; i < n.listaDeAssentos.size(); i++) {
        ((FXAssento) lista.get(i)).setAssento(n.listaDeAssentos.get(i));
      }
    });
  }
}