Refactor abstract classes into interfaces.
Make groups be able to inherit from multiple parents, in priority order
Add LICENSE and prepare for release