Refactored DataMapper to be least awful code.