Removed inheritance to better deal with JSON generation