Some feedback

@bskrtich I've run through your changes and here's my feedback:
1. Since we're going to follow PSR standard, we start removing underscore prefix from private variable names
2. Use the Exception model initiated by @gabrielbull
Thanks