Introduces a handy functional toolbelt

This still isn't an ideal structure for that method, but it's a step in
the right direction.