distribute is in setuptools >= 0.7 now
we will have more than one field in this package so we move each field to its own module
backward compatibility
reduce module size, move interfaces to its own module
pep8