Implementation of the go/no-go decision for a chain. Broke out from #201 The implementation of each module is in a separate ticket. Design is in #228