chore(*): renamed getRaw() to getContents()
chore(*): simplified serialization/unserialization
chore(*): use named subpatterns
chore(*): use array_replace() and array_replace_recursive() to handle default configurations/settings/options
doc(*): wording