No, I meant in the case of leaving it as VectorSpace as you suggested. Let's go with what you have for now. Soon we're going to  have different softmax implementations. Gated softmax, hierarchical softamx, NCE, etc... And in some of those cases we might need one output_sapce for fporp and one for cost.