support particle callbacks