A Behavioural Foundation for Natural Computing and a Programmability Test