refactored out an interface for providing dependencies.  extracted static helper method for finding an appropriate binding annotation.  reduced visibility of most classes.
made test output less noisy