Implement compose + tests.