1. A method of troubleshooting a mechanical system, the method comprising: receiving a maintenance request; determining a plurality of maintenance tasks related to the maintenance request; determining a first expected cost of implementing the plurality of maintenance tasks in a first order; determining a second expected cost of implementing the plurality of maintenance tasks in a second order; and selecting an implementation order for the plurality of maintenance tasks based at least in part on the first and second expected costs.