Java simple factory creation model introduction