The i4004 is a controller, at least to me, because it
is dependent
on a specific set of supporting ciruits (4001,40002 and 4003).
The 8008 is much more general purpose.
How do we DEFINE 'microprocessor' v 'controller'?
"How can you call the 80386 a 'microprocessor'?
It doesn't even have an FPU!"