Update to new tp base classes and interfaces

Signed-off-by: Tom Swindell <t.swindell@rubyx.co.uk>