I am testing your solution and it seems to works great !
It’s simple et efficient. Crongratulation !
I tried shared pointer and a question appear to me.
How do you use it in differents screen size following users ?
It seems to me this feature is relevant only with same size of screens.
What is your point of you about it ?