The magic happens only on first access - after that, it is faster than the getter impl