It's for 'one to many' and 'many to many' architectures. When you have several methods of origin of "sync events caused by developer" and stack of view controllers those interface must change on purchasing start/stop simultaneously.
And it's for better code organization with architectures described above to turn UI force and back in notification handlers instead of different places.