1. A computer-implemented method comprising: determining feedback for input data received at a lower-layer software component in a software system, the system comprising a plurality of software layers, the feedback being determined based at least in part on one or more feedback parameters provided by an upper-layer software component in the system and using the lower-layer software component, the one or more feedback parameters having been provided by the upper-layer software component prior to the receipt of the input data by the lower-level software component and the one or more feedback parameters having been further determined by a software component operating in a software layer between a layer in which the lower-layer software component operates and a layer in which the upper-layer software component operates, so that the one or more feedback parameters remain in the lower-layer software component; and providing at least a portion of the input data to the upper-layer software component for modifying the feedback for future inputs; the upper-layer software component and lower-layer software component being within a same application, wherein the upper-layer software component is an application layer and the lower-layer software component is a rendering layer for rendering the feedback on a display and the feedback is generated by the lower-layer software component using a combination of the feedback parameters provided by the upper-layer software component and the input data received in the lower-layer software component.