Added implementing classes of the interfaces.
The State part is actually completely system independent,
while the Factory part is completely sytem dependent.
Renamed the factory delegate as it was missing a delagate.
Added the initialize method, but i"m not sure how we should handle that.