reimplemented Payload as thread save reference counting object
some renames