allow enableling/disabeling features while caching them + prevent errors on frozen objects

@jamesarosen