Added Component class + tests. Fixed test_ports being assigned the wrong module name.