Added more code comments.
Added more code comments on singleton.
Added more code comments on factory pattern.
Added abstract factory.