UI Update, code organisation

- Button gets arrow icons
- Code is broken up into relevant classes