The most prevalent modeling methodology for computational systems employed today, hand-writing monolithic simulators in sequential programming languages, yields simulators that are difficult to retarget or integrate with one another. The proposed solution, the Liberty Simulation Environment (LSE), automatically constructs simulators from machine descriptions that closely resemble the structure of hardware. This structural resemblance to the hardware provides confidence in the model and frees systems researchers to think about systems, not simulator coding concerns. LSE's strict but general component communication contract enables the creation of highly reusable component libraries and eases the task of rapidly exploring ever more exotic designs. LSE components and descriptions can be hierarchically composed of other components and can exist at any level of abstraction (statistical to gate-level). This choice of abstraction level combined with partial specification support allow models to be iteratively refined; descriptions generate fully functional simulators from the very start, allowing users to specify and validate precise models incrementally. Through observing current and future users of LSE, we will continually refine the framework to arrive at the most effective design of these features in practice.