refactor buyable viewlet so that it can be easier registered to different ViewletManagers only with zcml