Split all mem_function out so that we can reuse the bulk of the tests at will.