Some modifications.

Hi,

I've made some modifications to your code architecture and interface, i don't know if it can interest you but your project was nearly matching my needs, rather than rewrite an all new thing from scratch, I've just tried to improve yours.

It continues to depend of a `pip` subprocess call and I'll try to change this (there is some side effects with the pip logger actually)

regards.