Massive refactor to remove code that in practice isn't very useful. The main goal of this refactor is to simplify the code.
Don't need this anymore.
Updated version to latest release.