More inheritance tidying

- Moved some stuff out of the start function
- moved more common object methods into the base class