Most likely you are right (as always!) but doing that makes the creation of the object anomalous for the programmer.
BTW, I tried a Sleep (not directly in Initialize, which can't accept it, but in a Sub called by Initialize - CallSubDelayed) but it failed (maybe too short duration? I'll try again).
I think the simplest solution is to attach the project; this way you, Erel, will finally have something to occupy your too much free time ?
Public Sub Initialize(PlusMinus As B4XPlusMinus)
mPlusMinus = PlusMinus
mPnlOver.Initialize("pnlOver")
'Initialize cannot be a resumable, so...
CallSubDelayed2(Me, "Init2", PlusMinus)
End Sub
Private Sub Init2(PlusMinus As B4XPlusMinus)
PlusMinus.mBase.AddView(mPnlOver, PlusMinus.pnlMinus.Width, 0, PlusMinus.mBase.Width - PlusMinus.pnlMinus.Width - PlusMinus.pnlPlus.Width, PlusMinus.MainLabel.Height)
Do Until mPnlOver.Width > 50
Sleep(1)
Loop