Continuing to refactor towards full blown angular

Bit of a faff in places. Still not 100% convinved but it does seem very
very fast.