# Alias component lifecycle methods

**URL:** <https://discourse.aurelia.io/t/alias-component-lifecycle-methods/5194>\
**Category:** Uncategorized\
**Created:** [July 8, 2023, 5:40pm UTC](https://discourse.aurelia.io/t/alias-component-lifecycle-methods/5194 "2023-07-08T17:40:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![elitemike](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/elitemike/32/690_2.png) [@elitemike](https://discourse.aurelia.io/u/elitemike)\
**Post date:** [July 8, 2023, 5:40pm UTC](https://discourse.aurelia.io/t/alias-component-lifecycle-methods/5194/1 "2023-07-08T17:40:47Z")

</div>

I’m trying to extend a 3rd party object to use as a component viewModel and the class is already using the method name “created”. Is there a way to still have access to the built in lifecycle methods while changing the name?

---

<div class="post-metadata">

**Author:** ![elitemike](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/elitemike/32/690_2.png) [@elitemike](https://discourse.aurelia.io/u/elitemike)\
**Post date:** [July 9, 2023, 12:57pm UTC](https://discourse.aurelia.io/t/alias-component-lifecycle-methods/5194/2 "2023-07-09T12:57:27Z")

</div>

I was at least able to get around this by making a reference to the original in the constructor and creating an auCreate function which gets set to created. Once the auCreate function runs I set created back to the original.

It appears Aurelia 2 took this same approach. all lifecycle methods should have been prefixed with au or something to avoid any name collision.
