Implemented patterns (still unstable)

Writing documentation, reviewing architecture and code.