Method for amending a firmware of a device, the device comprises a firmware, a memory unit and a firmware amending software, wherein the method comprises the steps of: - for the firmware amending software, storing, at a memory location of the memory unit, at least two new first and second functional components (9.1, 9.2), wherein the first functional component comprises at least one public function (11.1, 11.2), configured to be called by at least one second functional component different from the first functional component, - for the firmware amending software, the device comprising in the memory unit a functional component table, wherein functional components are registered, and wherein the functional component table comprises a set of access rights governing access to said at least one public function (11.1), updating the functional component table with the memory location of said new functional components, - for the firmware amending software, handing over control to the firmware which comprises a call dispatch unit, where each call addressing one of the public functions is dispatched, said handing over comprising the steps of, for calling the at least one public function (11.1) of the first functional component (9.1): - for the second functional component (9.2), executing a call of the call dispatch unit including a target indication relative to the first functional component and the public function to be called, - for the call dispatch unit, checking the set of access rights for the second functional component (9.2) before calling the indicated public function of the first functional component (9.1), - for the call dispatch unit, if access rights are granted, calling the public function indicated by the target indication by retrieving the memory location of the first functional component from the functional component table. - for the firmware amending software, storing, at a memory location of the memory unit, at least two new first and second functional components (9.1, 9.2), wherein the first functional component comprises at least one public function (11.1, 11.2), configured to be called by at least one second functional component different from the first functional component, - for the firmware amending software, the device comprising in the memory unit a functional component table, wherein functional components are registered, and wherein the functional component table comprises a set of access rights governing access to said at least one public function (11.1), updating the functional component table with the memory location of said new functional components, - for the firmware amending software, handing over control to the firmware which comprises a call dispatch unit, where each call addressing one of the public functions is dispatched, said handing over comprising the steps of, for calling the at least one public function (11.1) of the first functional component (9.1): - for the second functional component (9.2), executing a call of the call dispatch unit including a target indication relative to the first functional component and the public function to be called, - for the call dispatch unit, checking the set of access rights for the second functional component (9.2) before calling the indicated public function of the first functional component (9.1), - for the call dispatch unit, if access rights are granted, calling the public function indicated by the target indication by retrieving the memory location of the first functional component from the functional component table. - for the second functional component (9.2), executing a call of the call dispatch unit including a target indication relative to the first functional component and the public function to be called, - for the call dispatch unit, checking the set of access rights for the second functional component (9.2) before calling the indicated public function of the first functional component (9.1), - for the call dispatch unit, if access rights are granted, calling the public function indicated by the target indication by retrieving the memory location of the first functional component from the functional component table.