How difficult would it be to implement one? Or, more importantly, how long would it take?