manipulationTestHelper support click manipulations

Depends on #642.
I've made considerable improvements in readability, breaking this helper, `manipulationTestHelper` into functions which are nested inside its scope.