Adding in type restrictions.
Added some restriction types and a method on the decorator to check for any restrictions.