Essendo il tuo game engine organizzato a callbacks ogni callback dovrà svolgere una singola funzione, inoltre ogni callback dovrà accettare dei parametri contestuali.
Ad esempio per la gestione dell'input avrai una callback che accetta l'input da gestire e decide cosa fare, ma sarà il game engine a occuparsi di accettare l'input e passare i dati alla callback che lo gestisce.