1. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to: cause a plurality of local devices to be discovered in response to a user interaction with an executable, wherein the plurality of local devices are configured to provide functionality related to the user interaction with the executable and each of the plurality of local devices is defined by at least one functional definition; select a local device from among the discovered plurality of local devices based on a user profile, the at least one functional definition of the local device and the user interaction with the executable, wherein the user profile indicates a preferred local device based on a set of functionality preferences and the at least one functional definition of the local device; and cause at least a portion of the functionality related to the executable to be transferred to the selected local device, wherein at least a portion of the functionality related to the executable is performed by the apparatus in an instance in which less than all of the functionality related to the executable is transferred to the selected local device.