IPlugView callbacks vs. VSTGUI direct handling

I’ve noticed that IPlugView provides an onWheel function to be called by the host to notify the plugin of mouse wheel movements.

However the VSTGUI code (for example, on Win32) seems to also get mouse wheel messages directly from the WindowProc callback called by Windows.

The same is true for the other callbacks: onKeyDown, onKeyUp, etc.

So why are the onWheel etc. callbacks provided in IPlugView at all? Is there a practical or historical reason? In what scenario would that callback be called instead of WindowProc?

I’ve also noticed that IPlugView provides no similar callbacks for mouse motion or mouse buttons. Why is this?

Just trying to understand if it’s necessary for both to be implemented.

Update: I’ve noticed that sometimes both the IPlugView function and I get the same event in my WindowProc for keyboard events. I there any reason I couldn’t just completely ignore events received via IPlugView?