Part of the more general refactoring effort described in #39.
Part of the more general refactoring effort described in #39.