code: function parse(topic) {
  	var tokens = tokenize(topic).map(process_token);
  	var result = {
  		regex: make_regex(tokens),
  		getParams: make_pram_getter(tokens),
  		topic: make_clean_topic(tokens)
  	};
  	result.exec = exec.bind(result);
  	return result;
  }
docs: Parses topic string with parameters
  @param topic Topic string with optional params
  @returns {Object} Compiles a regex for matching topics, getParams for getting params, and exec for doing both