Replace InputPort with SignalInPort, and OutputPort with SignalOutPort.
Replace Limit class with methods to produce lambdas that perform limiting. SignalInPort now takes :limits hashed arg (a Range).