https://gaviki.com/blog/what-patterns-are-there-when-sphere-interact/