Separated InputNode functionality into a separate trait to reduce unnecessary type params for nodes that only generate output