New test interface

Will be used in a later commit. I didn't want to refactor to refactor two commits later.