Implemented Linker pattern
Implemented State pattern