Please solve the programming task below using a self-contained code snippet in a markdown code block.

Given an array of strings words and a character separator, split each string in words by separator.
Return an array of strings containing the new strings formed after the splits, excluding empty strings.
Notes

separator is used to determine where the split should occur, but it is not included as part of the resulting strings.
A split may result in more than two strings.
The resulting strings must maintain the same order as they were initially given.

 
Please complete the following python code precisely:
```python
class Solution:
    def splitWordsBySeparator(self, words: List[str], separator: str) -> List[str]:
```