Better class decoupling; tests failing.