1. A method for upgrading a lighting controller comprising: identifying a software component with a plurality of upgrade dependencies, the software component being natively executable by the lighting controller, each of the plurality of upgrade dependencies specifying a supporting software component upon which the software component is dependent; generating an upgrade plan based at least in part on the upgrade dependencies; and executing the upgrade plan to install each supporting software component prior to installing the software component.