/// <summary>
    ///   <para>Layout/appearance of the button.</para>
    /// </summary>
    /// <param name="widget">Widget to call method on.</param>
    /// <param name="layout">Layout of button.</param>
    /// <returns>Reference to provided <paramref name="widget"/>.</returns>
    /// <exception cref="ArgumentNullException">If <paramref name="widget"/> is a <c>null</c> reference.</exception>
    /// <seealso cref="ISurfingbirdSurfButtonWidget.Layout(string)"/>
    public static ISurfingbirdSurfButtonWidget Layout(this ISurfingbirdSurfButtonWidget widget, SurfingbirdSurfButtonLayout layout)
    {
      Assertion.NotNull(widget);

      switch (layout)
      {
        case SurfingbirdSurfButtonLayout.Micro :
          return widget.Layout("micro");

        case SurfingbirdSurfButtonLayout.Vertical :
          return widget.Layout("vert");

        default:
          return widget.Layout("common");
      }
    }
        /// <summary>
        ///   <para>Layout/appearance of the button.</para>
        /// </summary>
        /// <param name="widget">Widget to call method on.</param>
        /// <param name="layout">Layout of button.</param>
        /// <returns>Reference to provided <paramref name="widget"/>.</returns>
        /// <exception cref="ArgumentNullException">If <paramref name="widget"/> is a <c>null</c> reference.</exception>
        /// <seealso cref="ISurfingbirdSurfButtonWidget.Layout(string)"/>
        public static ISurfingbirdSurfButtonWidget Layout(this ISurfingbirdSurfButtonWidget widget, SurfingbirdSurfButtonLayout layout)
        {
            Assertion.NotNull(widget);

            switch (layout)
            {
            case SurfingbirdSurfButtonLayout.Micro:
                return(widget.Layout("micro"));

            case SurfingbirdSurfButtonLayout.Vertical:
                return(widget.Layout("vert"));

            default:
                return(widget.Layout("common"));
            }
        }