Just make opDispatch accept zero or more arguments, when zero arguments are passed, it works as a property, when more arguments are passed, it works like a method call, no need for @property.