Made fields private
Made methods protected
Made some fields protected
Made static fields private
Fixed broken code, tests should now pass.