feature/configuration

Implement the Configuration trait + tests, issue #24