Major design refactor.