Who needs to implement fields in many ways?
The majority of users (OOP programmers) don't need creative fields
(most of the time)
Fields are usually constructed as hash elements:
package TrafficLight; sub new { bless { colour => 'red' }; };
continued...