do you have any particular reason for initializing on demand and not invoking it only once in the constructor?