implementing verbose mode + states logic implementation

passing drawingState pointer in all calls:
    * the verbose field is used for conditional printing
    * other data could be passed in the future inside drawingState struct