Using the following code I was able to load the custom template.
public function register_hook_callbacks(){
// Enqueue Styles & Scripts.
add_action( 'wp_enqueue_scripts',
array( $this, 'enqueue_scripts' ) );
add_filter('template_include',
array( $this, 'view_project_template')
);
}