Wrap up gas spread logic in a helper function.

Compact some code.  Also several parts were acting differently for no discernible reason.