I'd put the implementation in the impl class, and just delete the Builder class. You can override postConstruct in the Impl class, and put the contents of builder in there. But instead of createChild(spec), you'll currently need `addChild(getEntityManager().createEntity(spec))`

Then in main(), you can do:

  StartableApplication app = new BasicEntitySpec.builder(StartableApplication.class)
          .impl(WebClusterDatabaseExampleApp.class)
          .displayName("Brooklyn WebApp Cluster with Database example")
          .manage(server.getManagementContext());