finish decorator design pattern notes