I've attached what we've got. It's pretty similar to most keyword approaches, only with an added GUI on top.
The GUI makes it really easy for the manual testers to know which objects they're working with and what the actions do, it does add a bit of an overhead when we add test objects - basically for each object added to the OR we have to "map" it into another Excel workbook and: - Say where in the GUI tree structure it should be saved. - Capture a screenshot.
This doesn't actually take too long as we have a screenshot capture tool we launch from the mapping workbook where we just drag around the object and it saves the screenshot for us.
This mapping worksheet also tells the framework which high level keywords are available to the GUI tree nodes, and which low level actions are available to the objects.
Timescale wise, it's evolved over the past 6 months. Fortunately I've been given time to develop this, I'm hoping to publish some stuff around it later in the year when I get some free time (and permission).
Regarding failure / recovery, we always call an initialise action at the start of each test - this determines if we need to shut down and clean up or if we can carry on from the open application.