Separate draw logic from update call (Resolves #2)