title: How to create a custom Flex 4 button with 3 labels
body: <p>I would like to create a custom Button component with three labels: left-, center-, and right-justified. I can't just use the label justification property, because I want to use all 3 labels at the same time.</p>
  
  <p>I'm familiar with creating custom components, but I've never tried to build one quite like this before...</p>
  
  <p>Here's what I have so far:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;s:Button 
      xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"&gt;
  
      &lt;fx:Script&gt;
          &lt;![CDATA[
  
              private var labelContentL:String;
              private var labelContentC:String;
              private var labelContentR:String;
  
              public function set labelL(value:String):void
              {
                  labelContentL = value;
              }
              public function set labelC(value:String):void
              {
                  labelContentC = value;
              }
              public function set labelR(value:String):void
              {
                  labelContentR = value;
              }
  
              public function get labelL():String
              {
                  return labelContentL;
              }
              public function get labelC():String
              {
                  return labelContentC;
              }
              public function get labelR():String
              {
                  return labelContentR;
              }
  
          ]]&gt;
      &lt;/fx:Script&gt;
  
      &lt;s:Label id="l" width="100%" text="{labelContentL}" textAlign="left" paddingLeft="10" /&gt;
      &lt;s:Label id="c" width="100%" text="{labelContentC}" textAlign="center" /&gt;
      &lt;s:Label id="r" width="100%" text="{labelContentR}" textAlign="right" paddingRight="10" /&gt;
  
  &lt;/s:Button&gt;
  </code></pre>
  
  <p>The labels won't change after the button is created, so I'm not worried about the missing <code>[Bindable]</code> metadata.</p>
  
  <p>I'm stuck right now, getting the following compiler error:</p>
  
  <blockquote>
    <p>Multiple initializer values for default property, 'label', of type 'String'.</p>
  </blockquote>
  
  <p>...for each of the 3 <code>&lt;s:Label&gt;</code> lines.</p>
  
  <p>Based on <a href="https://stackoverflow.com/questions/3139486/flex-custom-component-doesnt-accept-script-multiple-initializer-values-for-defa/4699805#4699805">this answer</a> to a similar question, I tried adding <code>label=""</code> to my <code>&lt;s:Button&gt;</code> declaration, but that just adds another error.</p>
  
  <p>How do I fix this?</p>