func NewBasic() BasicEntity {
	return BasicEntity{id: atomic.AddUint64(&idInc, 1)}
}
NewBasic creates a new Entity with a new unique identifier. It is safe for
concurrent use.
package ecs
import (
	"sync/atomic"
)
var (
	idInc uint64
)
type BasicEntity struct {
	id       uint64
	parent   *BasicEntity
	children []*BasicEntity
}
type Identifier interface {
	ID() uint64
}
type IdentifierSlice []Identifier