Created _callEvent method for calling callbacks and passing to them ui object.
Refactor setOptions method and public option method.
Move setOptions to prototype.
Code style and comments
Code style
Refactor scroll recalculation to avoid changing position. Better performance.