In point form, explain the logic for determining whether or not a cup is full and how it will fill in a VR barista game. The functionality must utilize callbacks. You may also use code snippets to explain your thinking. Here is some text for context:

fill the cup with coffee
The cup presently has a "filltime" variable that when reached will flip isFull to true
I want the cup to fill when the button is pressed (onSelect) start fill timer?

have the cup then be considered a full cup
Cup isFull = true
The cup will be filled when the user presses the "select" button (onSelect). A fillTime variable will be initialized and started when the button is pressed. If the fillTime reaches the amount of time it takes to fill the cup, the isFull variable will be set to true, indicating that the cup is full.
  Great, let's break down the logic for determining whether a cup is full in a VR barista game using callbacks:

1. Define the `filltime` variable:
```scss
var filltime = 5; // set the fill time to 5 seconds
```
This variable represents the amount of time it takes to fill the cup with coffee.

2. Create a `onSelect` callback function for the button that will start the filling process:
```scss
function startFilling() {
  // start the fill timer
  game.time.events.add(game.time.Events.END_OF_TICK, function() {
    // check if the cup is full
    if (cup.isFull()) {
      // stop the fill timer and set the cup as full
      game.time.events.remove(game.time.Events.END_OF_TICK, startFilling);
      cup.isFull = true;
    } else {
      // continue filling the cup
      game.time.events.add(game.time.Events.END_OF_TICK, startFilling);
    }
  });
}
```
This function will start the fill timer when the button is pressed, and check if the cup is full every tick. If the cup is full, it will stop