Redesign the API so that it is: 1) 100% covered by unit tests 2) follows RESTful principles 3) returns uniform JSON data