How To: Create More Flexible Widgets