Add JSSystem, rename Hardware to JSHardware and refactoring it