As discussed in the scope document, it might be useful for the return result to be a class so that we can add helper methods onto it, etc.