Made changes for better OO design

Reuse of a single HashMap instead of making HashMaps for each support
type