Refactor & add tests for eipconfig. Closes #2995.