Why this crazy magic getter? I think normal getters would already make this code a lot clearer.