1. The first block of double door/chest exemption check.
2. Cache system
3. Optimize getUser() so that it won't need isLocked() beforehand.