extract code, text as list

only question, answer object need these methods.
this resolves #21 
Not sure on this filename. For now we could just have `test_objects.py` and keep them all together. If the tests end up being very long then we can split them up later.