 
 extension String {
 
-    var trimmingColon: String {
-        return self.trimmingCharacters(in: CharacterSet(charactersIn: ":").union(.whitespaces))
-    }
-
     func componentsWithPrefix(_ prefixVariants: [String]) -> (String, String?) {
         for prefixVariant in prefixVariants {
             let (prefix, suffix) = componentsWithPrefix(prefixVariant)

        
        // The feature description needs to be on the first line - we'll fail this method if it isn't!
        let (_, suffixOption) = lines.first!.componentsWithPrefix(FileTags.Feature)
        guard let featureDescription = suffixOption?.trimmingColon else { return nil }
        
        let feature = NativeFeature.parseLines(lines)
        

                // What kind of line is it?
                if let (linePrefix, lineSuffix) = line.lineComponents() {
                    if FileTags.Background.contains(linePrefix) {
                        state = ParseState(description: lineSuffix, parsingBackground: true)
                    } else if FileTags.Scenario.contains(linePrefix)
                        || FileTags.ScenarioOutline.contains(linePrefix) {
                        saveBackgroundOrScenarioAndUpdateParseState(lineSuffix)
                    } else if FileTags.Given.contains(linePrefix)
                        || FileTags.When.contains(linePrefix)
                        || FileTags.Then.contains(linePrefix)
                        || FileTags.And.contains(linePrefix) {
                        state.steps.append(lineSuffix)
                    } else if FileTags.Examples.contains(linePrefix) {
                        // Prep the examples array for examples
                        state.exampleLines = []
