https://ones.com/blog/project-component-customization-tips/