Simple implementation of Design Patterns. Just for fun