Allow different implementations of creation of new token, acquiring dead token, and acquiring pre generated token