func (d *Deck) Components() []Component {
	return d.components
}
Components returns a list of Components in order in this deck, equivalent to
calling ComponentAt() from 0 to deck.Len()
package boardgame
import (
	"strconv"
	"github.com/jkomoros/boardgame/errors"
)
type Deck struct {
	chest *ComponentChest
	name string
	components             []Component
	genericValues          ComponentValues
	vendedGenericComponent Component
}
const genericComponentSentinel = -2
func NewDeck() *Deck {
	return &Deck{}
}
func (d *Deck) NewStack(maxSize int) Stack {
	return newGrowableStack(d, maxSize)
}
func (d *Deck) NewSizedStack(size int) SizedStack {
	return newSizedStack(d, size)
}
func (d *Deck) AddComponent(v ComponentValues) {
	if d.chest != nil {
		return
	}
	c := &component{
		deck:      d,
		deckIndex: len(d.components),
		values:    v,
	}
	if v != nil {
		v.SetContainingComponent(c)
	}
	d.components = append(d.components, c)
}