promise behaviours now fully contained in a mod