1. A method of emulating a hardware component of a target hardware system including a plurality of hardware components, the method comprising: a processor building a component model of the hardware component of the target hardware system, wherein the component model includes: a register interface through which a host application provides inputs to and reads outputs from the component model; one or more parameter registers that hold values of state variables of the component model; and a state machine that models behavior of the hardware component without explicitly emulating logic implemented in the hardware component; the processor modeling operation of the hardware component utilizing the component model; during the modeling, the processor dynamically modifying the component model other than by modifying values of the state variables; and the processor emulating other of the plurality of hardware components of the target hardware system by: in a data storage system, utilizing a hierarchical data structure to organize a hierarchical arrangement of device containers corresponding to various device identifiers of the plurality of hardware components in the target hardware system, scripts corresponding to various packet types of communication packets in the target hardware system, and responses corresponding to various packet data in the communication packets in the target hardware system; in response to receipt by a hierarchical emulation engine of a communication packet during emulation of the target hardware system, the communication packet including a device identifier, packet type and packet data, determining a response to the communication packet by traversing the hierarchical arrangement based on the device identifier, packet type and packet data of the communication packet; and providing the determined response.