Make most callbacks optional