You're right, its not easy to test from what I've shown, I just assumed I was doing something obviously wrong that you would pickup off the bat.
I'll setup a repo with it, at the moment its split into 2 different ones and has a lot of unnecessary code.
Thanks again, I'll let you know when its done.