initial commit (copied over, with permission, from Estatio codebase)

- now uses the META-INF/services approach for loading.