cleaner way to make IDE auto complete magic properties