Major API redesign
DRY
Merge pull request #6 from florianheinemann/new-strategy-interface

New strategy interface