remove unused factory
refactor test somewhat
Move inner test classes to concrete implementations
fix assert usage/imports.
tweak test
refactoring to have an application hold all it's plugins and users
implement a user registry
make user registry classes more concrete, use in application
reorganise packages