Continuing to play around with communicating the other way via some callback objects... not sure if this is dodgy, my code is probably horrible because I've never done anything like this before but it seems to work ok
This example script just creates an object with a function named "testing". The object is then passed to the dll which invokes the testing method with 2 string parameters.
Back to revision for now anyway