Introduced the IConfigurator + massive refactor