1. A method performed by a software transactional memory (STM) system in a computer system, the method comprising: receiving, with an action framework in the STM system, a first action operation with a first key from a transaction in STM code, each action includes a key, state information, and a set of one or more callbacks that can be hooked to at least one of validation, commit, abort, and re-execution phases of transaction execution, said each action provides a customized implementation of the one or more callbacks; registering, with the action framework, a first action corresponding to the first action operation with the first key, the first key allowing the transaction to subsequently perform at least one of querying and updating the first action and the first action implementing a callback with a customized implementation; receiving, with the action framework, a second action operation with a second key from the transaction; and in response to the second key differing from the first key, registering, with the action framework, a second action corresponding to the second action operation in a first action map with the second key and a callback implemented by the second action operation.