It might be handy to have a parameters attr on all objects to store constant things. This could be really neat if a 'search' is conducted upstream on higher objects if the value is not found on self, like:
alg.parameters['j0'] -> project.parameter['j0']
This would allow globals constants to be defined, but also enable over-riding if necessary.
On the other hand, this does add some 'behind the scenes' magic which tends to be confusing.