* Unify pipe. * Custom views. * Using model for table view. * Custom view. * Better separation. * Refactoring. * Added some tests. * Style and code style improvements. * Names unified.