Storing generic system datasets

What’s the best way to store system wide datasets that can be utilized by various modules. For example if I want to store all possible statuses that can be added to certain Types what would be the best way to store that Status data set containing: Active, Disabled, Completed, Processing etc along with their respective status codes? Countries, Languages, Timezones are some other datasets that I’d want to store.

Would this best done done as a Parameter object or a Status type where each status is created through a transaction that creates a unique store record?