I've changed the architecture a bit, other modules can now provide tracking methods.
I've had bugger all experience with sessions though, and I seem to be totally screwing up user authentication on my development environment :/
So, I'll commit my progress so far, and if anyone wants to write a patch to help out that would be awesome :)