"Variable in variable"/putting a variable in the name behind void / calling methods by name

Runnable is actually there since Java 7. I use it as a simple way to store callbacks. For instance

myButton.setCallback(this::changeColor);

and inside button:

void setCallback(Runnable callback) { 
  // store callback locally for later invocation using theCallback.run()
}

ps. sorry for going off-topic!