1. A non-transitory computer readable medium comprising instructions, which when executed by one or more hardware processors, cause performance of operations comprising: receiving a first software command; determining that a first hardware element, configured to communicate using a first hardware protocol, is associated with the first software command; translating the first software command to a first hardware command that conforms with the first hardware protocol; transmitting the first hardware command to the first hardware element; receiving a second software command; determining that a second hardware element, configured to communicate using a second hardware protocol, is associated with the second software command; translating the second software command to a second hardware command that conforms with the second hardware protocol; and transmitting the second hardware command to the second hardware element.