Memory utilization optimization. Added IMemoryOptimizer interface along with default implementations to let you decide exactly which bitsets are stored in memory