Move drawing logic to drawers

Close #1106.
There are bunch of missing spaces but tslint does not catching it..

Do you have idea why?