Python API basic questions

Hey,

Ive recently started trying to learn how to write stuff for the API using python.
Ive worked up a template plugin I found on http://www.chadvernon.com , which I want to takes a position and a frame as inputs and calculates a velocity based upon this, triggered by a change in the inTime.

So far the node works in so far as hooking it up to a locator, dragging it around and then changing the time produces a correct velocity value, as printed to the script window. Theres a few things however that are still confusing me however.

Is there a way to display my nodes attributes within the attribute editor if they are not considered inputs and keyable?

I have tried hooking up the stored position attribute inside my node to the transform of a locator, and while this doesnt seem to ever update the locators position, including a print statement within the nodes compute function indicates that the stored position value Im requesting is being updated on each frame change (as its supposed to)

Attaching my nodes velocity output to a particle emitters rate, doesnt seem to update continuously during on playback either :-/

Lastly Ive noticed that if I used the attribute affects relationship to update an attribute, and then direct a dataHandle.inputvalue to acquire the current value on that attribute, my node seemingly loops a ton of times before some inbuilt python failsafe brings it to a stop. Is querying a value in this context a big no no, or am I doing something wrong?

Any insights would be hugely appreciated,

Thanks!