Ianjorgensen/lollipop

@jebeck  Finished moving the branch. Ready for review.
I make it capitalised because it needs to be initialised to be used, just like  a class with new. I just NEVER use new in js