eliminate ThennableState class, placing then strategy in Covenant class