title: Wicket and complex Ajax scenarios
body: <p>When a screen has multiple interacting Ajax controls and you want to control the visibility of components to react to these controls (so that you only display what makes sense in any given situation), calling <code>target.addComponent()</code> manually on everything you want to update is getting cumbersome and isn't very maintainable.</p>
  
  <p>Eventually the web of <code>onClick</code> and <code>onUpdate</code> callbacks can reach a point where adding a new component to the screen is getting much harder than it's supposed to be.</p>
  
  <p>What are the commonly used strategies (or even libraries if such a thing exists) to avoid this build-up of complexity?</p>
  
  <p><strong>Update:</strong> Thank you for your answers, I found all of them very useful, but I can only accept one. Sorry.</p>