Custom element in palette, props and listeners

I am looking to create an end to end solution to a problem where the following are needed:

  1. a custom element that is draggable from the camunda modeler which would generate a valid bpmn xml and be able to create custom properties in the properties panel for these elements.
  2. on deployment of the above generated xml in a camunda java project, it should trigger parse listener
  3. at runtime execution of the process, trigger the event on the execution of the element.

I looked into integrating this plugin: https://github.com/bpmn-io/bpmn-js-nyan under AppData folder for first issue but I don’t see the custom element in the modeler.
I didn’t find any end to end solution for the other questions either.

Appreciate any help on this thanks!