manipulationTestHelper support click manipulations

Depends on #642.
Also, this function is rapidly approaching (passing?) the point where creating an object would help readability. Nested functions inside a function aren't the best way to organize once you're >100 LOC. The object would you let you split up the initialization parameters from the actual doing of the thing a bit more clearly.