Context: Added a lot of tests, and moved the resusable guts of call into a private method.