#5: Making some callbacks optional