refactor isSpecial from method to property
shared prototype across component instances if params are the same