Remove abstract keyword from new methods

- Cannot add new abstract methods (BC break); instead, raise exceptions
  if unimplemented.
- Added in missing patch() method.