Refactor: try to avoid accessing privates directly outside of constructor