I recommend reading this Mixergy blog post by @Zarch which goes into a lot of detail:
And these topics may also be relevant: