moves responsibilities into mapUtil, creates app.coffee