v1.4 - Complete rework of design. Now uses interfaces for easy extension. Class names and methods more inline with what they actually do.
- If upgrading from 1.3 please note errors may appear from some slight changes in naming.
- Overall functionality behaves as 1.3.