Changed pull to use a pool of routines.

In place of counters.
Also got part way through implementing change to push,
can't finish that right now though T_T