Refactored code into BlinkStick package and module/class

I have completed the first tranche of work on refactoring the client code, and I think the api stil makes sense - have a play and see what you think.