Java implementation of design patterns.