refactor(library): Init Method Readability & Setup Method

Changes:
1. Broke down frame compilation to assingning to a frame variable before the initWithFrame call
- This is for readability sake - Long inline assignments like that make it difficult to mentally process at a glance
2. Moved all setup related operations into a private method `setup:itemsViews`
- Gives the flexibility for other sorts of initialization methods in the future