dellis/rpearce: some refactoring and tests marked as pending waiting for card 5.3.
dellis/rpearce: some refactoring and tests marked as pending waiting for
card 5.3.

tim-group/stackbuilder,tim-group/stackbuilder