Interfaces and callbacks: essentially an introduction to event handling.