Move drawing logic to drawers

Close #1106.
can be inlined.  Up to you