Refactor: Separators calculated on the fly

Resolves #46. Separators now is a function that pulls either a user
added list of separators (done via WithSeparator() or WithSeparators())
or the default list of separators, ensuring it should always be accurate
and non-null.