Replaced as many cli_execute uses with the equivalent ash method
Added re-used variables for items and such instead of using $item[...] every time
Added string variables to store ploop property names to avoid typos
Reasoning: errors in cli_execute aren't caught until the script actually calls that line of the code. By switching to ash's methods, we can front-load when the errors occur for better testing.
I also created the initBase() method and moved all redundant init steps into that, then called it from init and initSmol, doing my best to implement DRY principles!
Reasoning: errors in cli_execute aren't caught until the script actually calls that line of the code. By switching to ash's methods, we can front-load when the errors occur for better testing.