Refactor command splitting
Refactor objects
Factor out num_marked_objects global
Add optional method parameter
Factor out more global variables
Refactor description building