It seem for me much easy to refactor the code than to work with OpenCascade.
I had felt a bit blocked till yesterday when I've clean up the use cases of 3D plane picking and to see dependencies. Drawing in 3D was done in past considering one single plane (like drawing Line3D it will happen in XOY for now only). The code wants to be more dynamically but still was some small issues like: when to stop picking a plane in a sequence of multi clicks. So when an action will not need the plane to change, it will notify the controller. The controller will be responsible to not change after that the plane. The solution is both elegant and simple and was done with help of bxtrx, so kudos for him!
Stay tuned for see how it works!