Created abstract bookkeeper. This allows calls that are the same between...

... languages to follow same code unless necessary to secede.