Refactoring symbol arguments into unified object

Refactoring methods to not access private variables,
instead introducing an args object that holds all of the
information for the symbol