Plugin architecture based on shibaShake example plugin - http://shibashake.com/