Refactored source so all echonest access goes through echonest.js