Towards A Theory Of Physical Computation