Separated template implementations from definition.