Patterns are powerful tools to document software problems and their solutions, as well as when and how to use them. They can help improve software reuse. The implementation of non functional requirements, such as atomicity, can benefit from this approach. This paper discusses and shows how computational reflection features can be employed within such context, increasing reuse of the software produced this way. It also shows how a reflective implementation of a software pattern created to introduce customizable recovery to objects can use all these concepts in a way to get the best from each one of them. Benefits from such reflective implementation are discussed, also considering other aspects such as flexibility, simplicity, dependability and development speed. It gathers concepts from different paradigms as software patterns, computational reflection and the object oriented model in order to achieve such characteristics.