title: Convenience methods for resizable images
body: <p>I've got a load of images that are resizable in my app and I use them all over the place.</p>
  
  <p>Most of them have the same edge insets but some are different.</p>
  
  <p>It takes a lot of code to create them too...</p>
  
  <pre><code>UIImage *buttonBGImage = [[UIImage imageNamed:@"buttonBG"] resizableImageWithCapInsets:UIEdgeInsetsMake(4, 4, 5, 4) resizingMode:UIImageResizingModeStretch];
  </code></pre>
  
  <p>It's only one line of code but I have to go looking for all the edge insets etc...</p>
  
  <p>I'm trying to create a convenience method for it instead. Something like...</p>
  
  <pre><code>UIImage *buttonBGImage = [blah resizableButtonBG];
  </code></pre>
  
  <p>Where would be the best place for these? I could create a singleton called "ImageManager". That way each resizable image would only get instantiated once and then would be held in memory. Is that overkill?</p>
  
  <p>I could add a category to <code>UIImage</code> called...</p>
  
  <pre><code>+(UIImage *)resizableButtonBG;
  </code></pre>
  
  <p>Can anyone provide any advice on this? Is my singleton idea a good one? Are there any cons against using a Singleton?</p>