+ void WhenComplete(Callback) noexcept;
+ void WhenForeground(Callback) noexcept;
+ /// on background will not be called when the goal is first inserted
+ /// but only after is has been in the foreground once
+ void WhenBackground(Callback) noexcept;