Rewrite difficulty system

Fixes #80