Updated parameter encapsulation to use trait
Initial test suite