Changing enumerations to static and imports to static as well for prototype behavioural design pattern.