1. A system for enabling a customized function to be implemented at at least one device in a domain, wherein said system comprises: a set of application programming interfaces (APIs) coupled with a system, wherein said system is coupled with a server managing a premises, wherein said system is configured for interacting with at least one third party application that has a set of instructions thereon, via said set of APIs, such that said at least one third party application can communicate with a device driver at said premises without having knowledge of a protocol thereon and without having knowledge of said at least one device, wherein said premises comprises said at least one device, wherein a device of said at least one device is coupled with said server and comprises a communication port that supports a first protocol corresponding to a second protocol, wherein said second protocol is supported by a device driver that is coupled with said domain; and an instruction translator coupled with said set of APIs, said instruction translator configured for translating said set of instructions received from said at least one third party application to be an action and protocol that said at least one device understands.