Design goals Simplicity and ease of use no need to explain... Be realistic. network behaviours are a result of its structure _and_ the way it is driven. It would be a mistake to just emulate the behaviours (e.g. delay jitter) unconditionally. Flexibility and expandibility let features grow over time, keep them as orthogonal as possible.