1. A method for altering functionality of an application installed on a computer, the method comprising: receiving, by the computer, an application update comprising a patch, service pack, or software update, wherein the application update is transmitted from a remote server to the computer via a network, or (ii) loaded into the computer from a removable data medium; updating the application, by a hardware processor of the computer, based upon the application update, wherein the application includes one or more functional modules; detecting one or more events occurring on the computer after the updating, wherein types of the detected events belong to a set of detectable events; determining, by the hardware processor of the computer, which of the one or more functional modules of the application caused the one or more detected events; and altering the one or more determined functional modules when a number of detected events per a predetermined time interval exceeds a threshold, wherein the altering of the functional modules and which functional modules are altered depend on the detected events and on which functional modules caused the detected events.