Instead of CustomDataLayer, which exposes the internal implementation more than necessary, and requires that the layer is always available, which isn't always true.
Instead of CustomDataLayer, which exposes the internal implementation more than necessary, and requires that the layer is always available, which isn't always true.