Merge branch 'refactor-testable'

This commit closes #6.