param: break out parameter handling so other modules can use it

this will allow the tracker module to use the param handling
tracker: use full param handling from param module