Further busting out stuff into self managed widgets, also adding mocha/chai stuff