Interfaces factories and patterns in general