[GHI-38] [feature] Configuration refactoring

Refactored configuration to be more flexible.

Closes #38