pulled out points data logic into Points.js decorator