Add a custom SimulationEventCallback implementation
fix SimulationCallback.OnContact crash (caused by a double free)