How can I change my stylesheet definition for a cell to optionally add a  caption below?

For example, I would like to add a caption to my "Program" cells shown here:

![enter image description here][1]

like this (but with the option of right or left as well as centered alignment):

![enter image description here][2]

There are some caption-like things to be found in the docs:

![enter image description here][3]

But I would prefer to have the caption as part of the cell expression (not simply a separately styled cell put right below it)

I've tried CellFrameLabels, but I stumbled on a few things:

- Controlling alignments and styling
- Adding/removing them easily
- Auto-numbering

Related:

- [Extending cell definition to CellFrameLabels definition](http://stackoverflow.com/questions/7234720/extending-cell-definition-to-cellframelabels-definition)




  [1]: https://i.sstatic.net/Ws4QA.png
  [2]: https://i.sstatic.net/TmrHw.png
  [3]: https://i.sstatic.net/GjMex.png