Move drawing logic to drawers

Close #1106.
is it important that we put these back or are we just being polite?
if we are gonna try to get purity i would rather just copy the `atP` and modify our copy rather than mutate and then partially un-mutate the original