Updated visibility and moved test cases outside of the same package as library code to ensure everything works with the current visibility configuration.