I put effort to write the example step by step to make it clear and simple to understand.
The object BaseCreator shown here exposes a create function which uses an intern